Nothing
Initial release.
New functions:
i_enumerate.array
can iterate over arbitrary margins, providing you
with a vector index.i_window
constructs a sliding window of arbitrary length over a given
iterator, generalizing itertools2::ipairwise
and itripletwise
.i_rle()
and i_rle_inverse()
for run-length encoding.i_accum()
, reduce()
, and sum()
and prod()
.i_chain(...)
has a companion function i_concat(it)
which accepts
an iterable (rather than ...
).as.numeric
, as.vector
, as.character
,
and as.logical
.concat()
pastes chunks from an iterator into a vector.New features:
icount
, icountn
, idiv
,
igrid
, iseq
, i_enumerate.default
, iteror.default
,
iteror.data.frame
, iteror.default
and i_enumerate.array
all have shared logic; all accept options chunks
, chunksize
and recycle
with equivalent behavior.icount
and icountn
preserve dimnames.icountn
, igrid
, i_enumerate.array
and
iteror.array
have option rowMajor
to control the order of iteration.i_unique
uses a hash table rather than linear scan, for much improved
performance; it also now works with any type of R object.irunif
, isample
and friends
accept options independent
, and seed
if given, the iterator will maintain a
private seed value, so that interleaving with other iterators does
not affect reproducibility. You can use a specific random number
generator algorithm by also giving kind
, normal.kind
, and sample.kind
.i_tee
works for any iterator, using a queue, where previously
itertools::i_tee
only worked for memory-backed iterators.py_iteror
wraps an iterator so that it can
be used by Python code via package reticulate
. Meanwhile
iteror
has a method for Python objects, allowing Python
iterators to be used transparently with iteror code.Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.