Basic methods
- 
is.iteror– Check whether a function has class ‘iteror’.
- 
iteror– Generic function to convert a given object into an iteror.
- 
nextOr– Obtain the next element from an iteror.
- 
r_to_py.iteror– Make an iteror act as a Python iterator (requires packagereticulate)
Consuming / summarizing an iteror
Most of these functions are S3 generic.
- 
as.character,as.numeric,as.logical,as.list– Collect all an iteror’s values into a vector.
- 
as.vector– Collect values into a specified type of vector.
- 
concat– Paste an iteror’s values end-to-end in one vector.
- 
consume– Take all or some of an iteror’s elements and discard them.
- 
count– Compute all elements, discard them and return their count.
- 
dotproduct– Sum of products of corresponding elements of two iterors.
- 
nth– Compute and discard the first \(n-1\) elements and return the \(n\)th.
- 
prod.iteror– Product of all an iteror’s values (i.e.reduceusing*.)
- 
quantify– Consume an iteror and return how many elements were TRUE.
- 
record– Write an iteror’s elements to a file.
- 
reduce– Combine all of iteror’s values using a binary function, returning the final value.
- 
sum.iteror– Sum all values of an iteror (i.e.reduceusing+.)
- 
take– Take some number of elements and return them in a vector.
Iterate over given data
By convention, functions in this package that construct an
iterator in terms of basic data or other objects have names beginning
with “i”.
- 
ienum,ienumerate– return the elements of an iterable alongside it index.
- 
i_repeat– Return one value over and over again.
- 
iteror.array– Iterate over an array along given dimensions.
- 
iteror.data.frame– Iterate over rows or columns of a data frame.
- 
iteror.default– Iterate over a vector from first to last index.
Counting or other mathematically defined processes
- 
icombinations– Enumerate all combinations of \(m\) elements of a given vector, with or without replacement.
- 
icount– Produce an integer sequence starting with 1.
- 
icountn– Enumerate multiple indices, in either row-major or col-major order.
- 
idiv– Return a sequence of \(n\) integers that add up to a given total.
- 
igrid– Produce a sequence over the Cartesian product of the given vectors.
- 
ipermutations– A sequence containing all permutations of a given vector.
- 
iseq– Generate arithmetic sequences with specific step size and origin.
- 
iseq_along– Counting sequence parallel to a given vector.
Random number generation
Random number iterators can be made reproducible by specifying
independent=TRUE and specifying a seed value, though this
has a performance cost.
- 
iRNGStream,iRNGSubStream– Create a sequence of seed values so as to make parallel, decorrelated random streams.
- 
irnbinom,irnorm,irpois,irunif,isample,irbinom– Draw samples from the given distribution.
Iterators dealing with files or functions
- 
iread.table– Reads row-wise from delimited text files.
- 
ireadBin– Read binary data from file connections.
- 
ireadLines– Read lines from text connections.
- 
ireaddf– Read rows from several files in parallel (one per column).
- 
ireplay– reads back values from a data file created withrecord
- 
itabulate– Evaluate a function over an arithmetic sequence.
- 
record– Write values from an iterator to a file.
Custom iterators
- 
iteror.function– Create an iteror with custom behavior.
Higher order iterator functions
By convention, in this package, functions that transform iterators –
creating a new iterator based on one or more underlying iterables –
begin with “i_”, with an underscore.
Iterators as sequences – Looping, repeating, indexing
- 
i_chunk– Collect \(n\) adjacent values from an iterable and return a list.
- 
i_pad– After a given iterator ends, return a padding value indefinitely.
- 
i_recycle– Record the values emitted by the underlying iterator and replay them.
- 
i_rep– Repeat each element of an iterable a given number of times.
- 
i_slice– Return elements based on a starting point ans stride.
- 
i_window– Return adjacent elements from the underlying iteror in a sliding window.
Operating on data within iterators
- 
i_accum– Apply a 2-argument function between an iteror’s elements, and return a sequence of partial totals.
- 
i_apply– Apply a given function to each element.
- 
i_enumerate– Return an index along with each element.
- 
i_star,i_starmap,i_map– Apply a multiple-argument function to multiple parallel iterators.
Selection, filtering, limiting
- 
i_break– Return elements only while the given (no-argument) function evaluates to TRUE.
- 
i_dedup– Discard elements that are identical the immediately preceding element.
- 
i_drop– Discard elements for which a criterion function returns TRUE.
- 
i_dropwhile– Discard elements from an iterator until the criterion function evaluates FALSE.
- 
i_keep– Keep only elements for which an applied criterion function returnsTRUE.
- 
i_keepwhile– Keep elements only until an applied criterion returnsFALSE.
- 
i_limit– Keep only the first \(n\) elements from the given iteror.
- 
i_mask– Return elements for which a parallel iterator is TRUE.
- 
i_rle– Compress runs of identical adjacent elements, returning one value and a run length.
- 
i_rleinv– Inverse transform ofi_rle.
- 
i_timeout– Return elements only until the timeout is reached.
- 
i_unique– Pass along only unique elements of an iterator, using a hash table.
Combining / splitting multiple iterators
- 
i_chain– String all values from each iterable argument together.
- 
i_concat– String an iterable of iterables together.
- 
i_roundrobin– Return one element at a time from each of a series of iterors in rotation.
- 
i_tee– Split an iterator into multiple iterators yielding the same sequence.
- 
i_zip– Combine corresponding elements of parallel iterators into a list.
- 
i_zip_longest–i_zipbut pad any iterators that end early.