[R] Selecting rows and columns of a data frame using relational operators

Tunga Kantarcı tungakantarci at gmail.com
Mon Feb 27 13:07:50 CET 2017


Consider a data frame named data. data contains 4 columns and 1000
rows. Say the aim is to bring together columns 1, 2, and 4, if the
values in column 4 is equal to 1. We could use the syntax

data(data[,4] == 1, c(1 2 4))

for this purpose. Suppose now that the aim is to bring together
columns 1, 2, and 4, if the values in column 4 is equal to 1, for the
first 20 rows of column 4. We could use the syntax

data(data[1:20,4] == 1, c(1 2 4))

for this purpose. However, this does not produce the desired result.
This is surprising at least for someone coming from MATLAB because
MATLAB produces what is desired.

Question 1: The code makes sense but why does it not produce what we
expect it to produce?

Question 2: What code is instead suitable?



More information about the R-help mailing list