You could try something like:

> test <- GAGurine[ c(TRUE,TRUE,TRUE,FALSE), ]

or if you want a random sequential sample

> test <- GAGurine[ sample(c(TRUE,TRUE,TRUE,FALSE)), ]

hope this helps,


-----Original Message-----
From: r-help-bounces@stat.math.ethz.ch on behalf of Pedro Mardones
Sent: Mon 12/25/2006 10:07 PM
To: R-help@stat.math.ethz.ch
Subject: [R] sequential row selection in dataframe
 
Dear all;

I'm wondering if there is any 'efficient' approach for selecting a
sample of 'every nth rows'  from a dataframe. For example, let's use
the dataframe GAGurine in MASS library:

> length(GAGurine[,1])
[1] 314

# select an 75% of the dataset, i.e. = 236 rows, every 2 rows starting
from row 1
> test<-GAGurine[seq(1,314,2),]
> length(test[,1])
[1] 157

# so, I still need another 79 rows, one way could be:
test2<-GAGurine[-seq(1,314,2),]
> length(test2[,1])
[1] 157
> test3<-test2[seq(1,157,2),]

# and then
final<-rbind(test2,test3)
> length(final[,1])
[1] 236

Does anyone have a better idea to get the same results but without
creating different datasets like test2 and test3?

Thanks
PM

______________________________________________
R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


	[[alternative HTML version deleted]]

