Reputation: 4436
I have a data frame with 100 entries, and I want to get a fields value for a subset of the entries. Specifically, I want every other 10 entries (i.e. indices 1-10,21-30,41-50,61-70,...)
The only way I've been able to do this is via: c(data$field[1:10],data$field[21:30],...)
But this seems like a horrible solution, especially if the size of the data frame changes.
Upvotes: 2
Views: 86
Reputation: 89057
You can do
data$field[rep(c(TRUE, FALSE), each = 10)]
whererep
creates a vector of ten TRUE
followed by ten FALSE
and is recycled as needed when used for indexing.
Upvotes: 5