-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcategories.Rmd
More file actions
123 lines (94 loc) · 8.71 KB
/
categories.Rmd
File metadata and controls
123 lines (94 loc) · 8.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
---
title: "Index of `iteror` functions by task"
output:
html_vignette:
self_contained: true
vignette: >
%\VignetteEngine{knitr::rmarkdown}
%\VignetteIndexEntry{Index of `iteror` functions by task}
%\VignetteEncoding{UTF-8}
---
## Basic methods
* [`is.iteror`](../reference/is.iteror.html) -- Check whether a function has class 'iteror'.
* [`iteror`](../reference/iteror.html) -- Generic function to convert a given object into an iteror.
* [`nextOr`](../reference/nextOr.html) -- Obtain the next element from an iteror.
* [`r_to_py.iteror`](../reference/r_to_py.iteror.html) -- Make an iteror act as a Python iterator (requires package `reticulate`)
## Consuming / summarizing an iteror
Most of these functions are S3 generic.
* [`as.character`](../reference/as.vector.iteror.html), [`as.numeric`](../reference/as.vector.iteror.html), [`as.logical`](../reference/as.vector.iteror.html), [`as.list`](../reference/as.vector.iteror.html) -- Collect all an iteror's values into a vector.
* [`as.vector`](../reference/as.vector.iteror.html) -- Collect values into a specified type of vector.
* [`concat`](../reference/concat.html) -- Paste an iteror's values end-to-end in one vector.
* [`consume`](../reference/consume.html) -- Take all or some of an iteror's elements and discard them.
* [`count`](../reference/count.html) -- Compute all elements, discard them and return their count.
* [`dotproduct`](../reference/dotproduct.html) -- Sum of products of corresponding elements of two iterors.
* [`nth`](../reference/nth.html) -- Compute and discard the first $n-1$ elements and return the $n$th.
* [`prod.iteror`](../reference/reduce.html) -- Product of all an iteror's values (i.e. [`reduce`](../reference/reduce.html) using `*`.)
* [`quantify`](../reference/quantify.html) -- Consume an iteror and return how many elements were TRUE.
* [`record`](../reference/record.html) -- Write an iteror's elements to a file.
* [`reduce`](../reference/reduce.html) -- Combine all of iteror's values using a binary function, returning the final value.
* [`sum.iteror`](../reference/reduce.html) -- Sum all values of an iteror (i.e. [`reduce`](../reference/reduce.html) using `+`.)
* [`take`](../reference/take.html) -- 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`](../reference/ienumerate.html), [`ienumerate`](../reference/ienumerate.html) -- return the elements of an iterable alongside it index.
* [`i_repeat`](../reference/i_repeat.html) -- Return one value over and over again.
* [`iteror.array`](../reference/iteror.html) -- Iterate over an array along given dimensions.
* [`iteror.data.frame`](../reference/iteror.html) -- Iterate over rows or columns of a data frame.
* [`iteror.default`](../reference/iteror.html) -- Iterate over a vector from first to last index.
## Counting or other mathematically defined processes
* [`icombinations`](../reference/icombinations.html) -- Enumerate all combinations of $m$ elements of a given vector, with or without replacement.
* [`icount`](../reference/icount.html) -- Produce an integer sequence starting with 1.
* [`icountn`](../reference/icount.html) -- Enumerate multiple indices, in either row-major or col-major order.
* [`idiv`](../reference/idiv.html) -- Return a sequence of $n$ integers that add up to a given total.
* [`igrid`](../reference/igrid.html) -- Produce a sequence over the Cartesian product of the given vectors.
* [`ipermutations`](../reference/ipermutations.html) -- A sequence containing all permutations of a given vector.
* [`iseq`](../reference/iseq.html) -- Generate arithmetic sequences with specific step size and origin.
* [`iseq_along`](../reference/iseq.html) -- 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`](../reference/iRNGStream.html), [`iRNGSubStream`](../reference/iRNGStream.html) -- Create a sequence of seed values so as to make parallel, decorrelated random streams.
* [`irnbinom`](../reference/rng.html), [`irnorm`](../reference/rng.html), [`irpois`](../reference/rng.html), [`irunif`](../reference/rng.html), [`isample`](../reference/rng.html), [`irbinom`](../reference/rng.html) -- Draw samples from the given distribution.
## Iterators dealing with files or functions
* [`iread.table`](../reference/iread.table.html) -- Reads row-wise from delimited text files.
* [`ireadBin`](../reference/ireadBin.html) -- Read binary data from file connections.
* [`ireadLines`](../reference/ireadLines.html) -- Read lines from text connections.
* [`ireaddf`](../reference/ireaddf.html) -- Read rows from several files in parallel (one per column).
* [`ireplay`](../reference/record.html) -- reads back values from a data file created with [`record`](../reference/record.html)
* [`itabulate`](../reference/itabulate.html) -- Evaluate a function over an arithmetic sequence.
* [`record`](../reference/record.html) -- Write values from an iterator to a file.
## Custom iterators
* [`iteror.function`](../reference/iteror.function.html) -- 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`](../reference/i_chunk.html) -- Collect $n$ adjacent values from an iterable and return a list.
* [`i_pad`](../reference/i_pad.html) -- After a given iterator ends, return a padding value indefinitely.
* [`i_recycle`](../reference/i_recycle.html) -- Record the values emitted by the underlying iterator and replay them.
* [`i_rep`](../reference/i_rep.html) -- Repeat each element of an iterable a given number of times.
* [`i_slice`](../reference/i_slice.html) -- Return elements based on a starting point ans stride.
* [`i_window`](../reference/i_window.html) -- Return adjacent elements from the underlying iteror in a sliding window.
### Operating on data within iterators
* [`i_accum`](../reference/reduce.html) -- Apply a 2-argument function between an iteror's elements, and return a sequence of partial totals.
* [`i_apply`](../reference/i_apply.html) -- Apply a given function to each element.
* [`i_enumerate`](../reference/i_enumerate.html) -- Return an index along with each element.
* [`i_star`](../reference/i_starmap.html), [`i_starmap`](../reference/i_starmap.html), [`i_map`](../reference/i_map.html) -- Apply a multiple-argument function to multiple parallel iterators.
### Selection, filtering, limiting
* [`i_break`](../reference/i_break.html) -- Return elements only while the given (no-argument) function evaluates to TRUE.
* [`i_dedup`](../reference/i_dedup.html) -- Discard elements that are identical the immediately preceding element.
* [`i_drop`](../reference/i_keep.html) -- Discard elements for which a criterion function returns TRUE.
* [`i_dropwhile`](../reference/i_dropwhile.html) -- Discard elements from an iterator until the criterion function evaluates FALSE.
* [`i_keep`](../reference/i_keep.html) -- Keep only elements for which an applied criterion function returns `TRUE`.
* [`i_keepwhile`](../reference/i_keepwhile.html) -- Keep elements only until an applied criterion returns `FALSE`.
* [`i_limit`](../reference/i_limit.html) -- Keep only the first $n$ elements from the given iteror.
* [`i_mask`](../reference/i_mask.html) -- Return elements for which a parallel iterator is TRUE.
* [`i_rle`](../reference/i_rle.html) -- Compress runs of identical adjacent elements, returning one value and a run length.
* [`i_rleinv`](../reference/i_rle.html) -- Inverse transform of [`i_rle`](../reference/i_rle.html).
* [`i_timeout`](../reference/i_timeout.html) -- Return elements only until the timeout is reached.
* [`i_unique`](../reference/i_unique.html) -- Pass along only unique elements of an iterator, using a hash table.
### Combining / splitting multiple iterators
* [`i_chain`](../reference/i_chain.html) -- String all values from each iterable argument together.
* [`i_concat`](../reference/i_chain.html) -- String an iterable of iterables together.
* [`i_roundrobin`](../reference/i_roundrobin.html) -- Return one element at a time from each of a series of iterors in rotation.
* [`i_tee`](../reference/i_tee.html) -- Split an iterator into multiple iterators yielding the same sequence.
* [`i_zip`](../reference/i_zip.html) -- Combine corresponding elements of parallel iterators into a list.
* [`i_zip_longest`](../reference/i_zip.html) -- [`i_zip`](../reference/i_zip.html) but pad any iterators that end early.