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: [EMAIL PROTECTED] on behalf of Pedro Mardones Sent: Mon 12/25/2006 10:07 PM To: [email protected] 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 ______________________________________________ [email protected] 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]] ______________________________________________ [email protected] 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.
