Dear list Is there a way to extract a random sample without duplicated row from a dataframe ?. a=c(1,2,3,1,1,1,2,1) b=c(1,2,3,1,2,1,2,1) c=c(1,1,1,1,1,1,1,1) d=c(1,2,3,1,1,1,2,1) prov<-data.frame(a,b,c,d) prov2<-prov[sample(1:nrow(prov),5,replace=T),] prov2 a b c d 3 3 3 1 3 6 1 1 1 1 3.1 3 3 1 3 5 1 2 1 1 8 1 1 1 1 I tryed the above code but as you can see sample function includes also duplicates. thank you for any tip Guido [[alternative HTML version deleted]]
Dear Guido, Try prov2<-prov[sample(1:nrow(prov),5,replace=F),] which corresponds to without replacement sampling. Best Ozgur -- View this message in context: http://r.789695.n4.nabble.com/Problem-with-sample-function-tp4632835p4632836.html Sent from the R help mailing list archive at Nabble.com.
On Jun 8, 2012, at 12:33 PM, Guido Leoni wrote:> Dear list > Is there a way to extract a random sample without duplicated row > from a > dataframe ?. > a=c(1,2,3,1,1,1,2,1) > b=c(1,2,3,1,2,1,2,1) > c=c(1,1,1,1,1,1,1,1) > d=c(1,2,3,1,1,1,2,1) > prov<-data.frame(a,b,c,d) > prov2<-prov[sample(1:nrow(prov),5,replace=T),] > prov2 > a b c d > 3 3 3 1 3 > 6 1 1 1 1 > 3.1 3 3 1 3 > 5 1 2 1 1 > 8 1 1 1 1 > > I tryed the above code but as you can see sample function includes > also > duplicates. > thank you for any tipWhy would you use replace=T if you didn't want duplicates??? -- David Winsemius, MD West Hartford, CT