Hi Here is one way (If I understood what you did ask).
test<-read.table("clipboard", header=T) > test SubID CSE1 CSE2 CSE3 CSE4 WSE1 WSE2 WSE3 WSE4 1 1 6 5 6 2 6 2 2 4 2 2 6 4 7 2 6 6 2 3 3 3 5 5 5 5 5 5 4 5 4 4 5 4 3 4 4 4 5 2 5 5 5 6 7 5 6 4 4 1 6 6 5 4 3 6 4 3 7 3 7 7 3 6 6 3 6 5 2 1 8 8 3 6 6 3 6 5 4 7 fff<-function(dat, col1=2, col2=1) { # col1 are number of columns from fist set and col2 from the second set sel1<-sample(1:4, col1) sel2<-sample((1:4)[-sel1], col2) dat[,c(sel1+1,sel2+5)] # i presume that your data are same as you posted, if not you has to change above values } fff(test) CSE2 CSE1 WSE3 1 5 6 2 <snip> 8 6 3 4 > fff(test) CSE1 CSE2 WSE3 1 6 5 2 <snip> 8 3 6 4 > fff(test) CSE1 CSE3 WSE4 1 6 6 4 <snip> 8 3 6 7 If you want to do it 1000 times just use simple loop result <- vector("list", 1000) for (i in 1:1000) result[[i]] <- fff(test) Regards Petr r-help-boun...@r-project.org napsal dne 15.11.2010 21:59:21: > wangwallace <talentt...@gmail.com> > Odeslal: r-help-boun...@r-project.org > > 15.11.2010 21:59 > > Komu > > r-help@r-project.org > > Kopie > > Předmět > > [R] Sampling problem > > > Hey, > > I am hoping someone can help me with a sampling question. > > I have a data frame of 8 variables (the first column is the subjects' id): > > SubID CSE1 CSE2 CSE3 CSE4 WSE1 WSE2 WSE3 WSE4 > 1 6 5 6 2 6 2 2 4 > 2 6 4 7 2 6 6 2 3 > 3 5 5 5 5 5 5 4 5 > 4 5 4 3 4 4 4 5 2 > 5 5 6 7 5 6 4 4 1 > 6 5 4 3 6 4 3 7 3 > 7 3 6 6 3 6 5 2 1 > 8 3 6 6 3 6 5 4 7 > > the 6 variables are categorized into two groups with CSE1, CSE2, CSE3, and > CSE4 in one group and the rest in another group. > > >sample(data[,2:4],2,replace=FALSE) > > CSE1 CSE2 > 1 6 5 > 2 6 4 > 3 5 5 > 4 5 4 > 5 5 6 > 6 5 4 > 7 3 6 > 8 3 6 > > Now I want to sample 1 column from another group of variables (i.e., WSE1, > WSE2, WSE3, WSE4), but I want to restrict a vector I am going to sample from > to only those columns that are not correspond to GROUP 1 variables I have > sampled. That is, I want to sample a column from WSE3, WSE4 Columns > corresponding to CSE1 and CSE2 (i.e., WSE1, WSE2) need to be dropped. > > How can I do this? what if I want to repeat this whole process (drawing 2 > random columns from CSE1, CSE2, CSE3, and CSE4 first, AND then another > random column from WSE1, WSE2, WSE3, and WSE4) for 1000 times. any ideas? > > Many thanks in advance!! > > -- > View this message in context: http://r.789695.n4.nabble.com/Sampling-problem- > tp3043804p3043804.html > Sent from the R help mailing list archive at Nabble.com. > > ______________________________________________ > R-help@r-project.org 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. ______________________________________________ R-help@r-project.org 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.