Subset (filter) data.frames/matrices/vectors/lists
For the data frame cond
will be evaluated in the data.frame's context.
So columns can be referred as variables in the expression (see the examples).
If data
is list then where
will be applied to each element of
the list. For other types (vector/matrix) there is no non-standard
evaluation. There is a special constant .N
which equals to number of
rows in data
for usage in cond
expression. .where
is
version for working with default dataset. See default_dataset.
where(data, cond) .where(cond)
data |
data.frame/matrix/vector/list to be subsetted |
cond |
logical or numeric expression indicating elements or rows to
keep: missing values (NA) are taken as FALSE. If |
data.frame/matrix/vector/list which contains just selected rows.
# leave only 'setosa' where(iris, Species == "setosa") # leave only first five rows where(iris, 1:5) # example of .N usage. set.seed(42) train = where(iris, sample(.N, 100)) str(train) set.seed(42) test = where(iris, -sample(.N, 100)) str(test) # list example set.seed(123) rand_matr = matrix(sample(10, 60, replace = TRUE), ncol = 3) rand_vec = sample(10, 20, replace = TRUE) my_list = list(iris, rand_matr, rand_vec) # two random elements from the each list item where(my_list, sample(.N, 2))
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.