Re: [R] random sample from arrays
Hi Joris, sorry for the late response. But I was away for a couple of days. Apparently i also did something wrong than. Now both these loops are working as they suppose to. Thanks again for all the help. Assa On Fri, Jul 9, 2010 at 17:05, Joris Meys jorism...@gmail.com wrote: Could you elaborate? Both x - 1:4 set - matrix(nrow = 50, ncol = 11) for(i in c(1:11)){ set[,i] -sample(x,50) print(c(i,-, set), quote = FALSE) } and x - 1:4 set - matrix(nrow = 50, ncol = 11) for(i in c(1:50)){ set[i,] -sample(x,11) print(c(i,-, set), quote = FALSE) } run perfectly fine on my computer. Cheers On Fri, Jul 9, 2010 at 3:10 PM, Assa Yeroslaviz fry...@gmail.com wrote: Hi Joris, I guess i did it wrong again. but your example didn't work either. I still get the error massage. but replicate function just fine. I can even replicate the whole array lines. THX Assa On Thu, Jul 8, 2010 at 15:20, Joris Meys jorism...@gmail.com wrote: Don't know what exactly you're trying to do, but you make a matrix with 11 columns and 50 rows, then treat it as a vector. On top of that, you try to fill 50 rows/columns with 50 values. Off course that doesn't work. Did you check the warning messages when running the code? Either do : for(i in c(1:11)){ set[,i] -sample(x,50) print(c(i,-, set), quote = FALSE) } or for(i in c(1:50)){ set[i,] -sample(x,11) print(c(i,-, set), quote = FALSE) } Or just forget about the loop altogether and do : set - replicate(11,sample(x,50)) or set - t(replicate(50,sample(x,11))) cheers On Thu, Jul 8, 2010 at 8:04 AM, Assa Yeroslaviz fry...@gmail.com wrote: Hello R users, I'm trying to extract random samples from a big array I have. I have a data frame of over 40k lines and would like to produce around 50 random sample of around 200 lines each from this array. this is the matrix ID xxx_1c xxx__2c xxx__3c xxx__4c xxx__5T xxx__6T xxx__7T xxx__8T yyy_1c yyy_1c _2c 1 A_512 2.150295 2.681759 2.177138 2.142790 2.115344 2.013047 2.115634 2.189372 1.643328 1.563523 2 A_134 12.832488 12.596373 12.882581 12.987091 11.956149 11.994779 11.650336 11.995504 13.024494 12.776322 3 A_152 2.063276 2.160961 2.067549 2.059732 2.656416 2.075775 2.033982 2.111937 1.606340 1.548940 4 A_163 9.570761 10.448615 9.432859 9.732615 10.354234 10.993279 9.160038 9.104121 10.079177 9.828757 5 A_184 3.574271 4.680859 4.517047 4.047096 3.623668 3.021356 3.559434 3.156093 4.308437 4.045098 6 A_199 7.593952 7.454087 7.513013 7.449552 7.345718 7.367068 7.410085 7.022582 7.668616 7.953706 ... I tried to do it with a for loop: genelist - read.delim(/user/R/raw_data.txt) rownames(genelist) - genelist[,1] genes - rownames(genelist) x - 1:4 set - matrix(nrow = 50, ncol = 11) for(i in c(1:50)){ set[i] -sample(x,50) print(c(i,-, set), quote = FALSE) } which basically do the trick, but I just can't save the results outside the loop. After having the random sets of lines it wasn't a problem to extract the line from the arrays using subset. genSet1 -sample(x,50) random1 - genes %in% genSet1 subsetGenelist - subset(genelist, random1) is there a different way of creating these random vectors or saving the loop results outside tjhe loop so I cn work with them? Thanks a lot Assa [[alternative HTML version deleted]] __ 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. -- Joris Meys Statistical consultant Ghent University Faculty of Bioscience Engineering Department of Applied mathematics, biometrics and process control tel : +32 9 264 59 87 joris.m...@ugent.be --- Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php -- Joris Meys Statistical consultant Ghent University Faculty of Bioscience Engineering Department of Applied mathematics, biometrics and process control tel : +32 9 264 59 87 joris.m...@ugent.be --- Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php [[alternative HTML version deleted]] __ 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.
Re: [R] random sample from arrays
Hi Joris, I guess i did it wrong again. but your example didn't work either. I still get the error massage. but replicate function just fine. I can even replicate the whole array lines. THX Assa On Thu, Jul 8, 2010 at 15:20, Joris Meys jorism...@gmail.com wrote: Don't know what exactly you're trying to do, but you make a matrix with 11 columns and 50 rows, then treat it as a vector. On top of that, you try to fill 50 rows/columns with 50 values. Off course that doesn't work. Did you check the warning messages when running the code? Either do : for(i in c(1:11)){ set[,i] -sample(x,50) print(c(i,-, set), quote = FALSE) } or for(i in c(1:50)){ set[i,] -sample(x,11) print(c(i,-, set), quote = FALSE) } Or just forget about the loop altogether and do : set - replicate(11,sample(x,50)) or set - t(replicate(50,sample(x,11))) cheers On Thu, Jul 8, 2010 at 8:04 AM, Assa Yeroslaviz fry...@gmail.com wrote: Hello R users, I'm trying to extract random samples from a big array I have. I have a data frame of over 40k lines and would like to produce around 50 random sample of around 200 lines each from this array. this is the matrix ID xxx_1c xxx__2c xxx__3c xxx__4c xxx__5T xxx__6T xxx__7T xxx__8T yyy_1c yyy_1c _2c 1 A_512 2.150295 2.681759 2.177138 2.142790 2.115344 2.013047 2.115634 2.189372 1.643328 1.563523 2 A_134 12.832488 12.596373 12.882581 12.987091 11.956149 11.994779 11.650336 11.995504 13.024494 12.776322 3 A_152 2.063276 2.160961 2.067549 2.059732 2.656416 2.075775 2.033982 2.111937 1.606340 1.548940 4 A_163 9.570761 10.448615 9.432859 9.732615 10.354234 10.993279 9.160038 9.104121 10.079177 9.828757 5 A_184 3.574271 4.680859 4.517047 4.047096 3.623668 3.021356 3.559434 3.156093 4.308437 4.045098 6 A_199 7.593952 7.454087 7.513013 7.449552 7.345718 7.367068 7.410085 7.022582 7.668616 7.953706 ... I tried to do it with a for loop: genelist - read.delim(/user/R/raw_data.txt) rownames(genelist) - genelist[,1] genes - rownames(genelist) x - 1:4 set - matrix(nrow = 50, ncol = 11) for(i in c(1:50)){ set[i] -sample(x,50) print(c(i,-, set), quote = FALSE) } which basically do the trick, but I just can't save the results outside the loop. After having the random sets of lines it wasn't a problem to extract the line from the arrays using subset. genSet1 -sample(x,50) random1 - genes %in% genSet1 subsetGenelist - subset(genelist, random1) is there a different way of creating these random vectors or saving the loop results outside tjhe loop so I cn work with them? Thanks a lot Assa [[alternative HTML version deleted]] __ 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. -- Joris Meys Statistical consultant Ghent University Faculty of Bioscience Engineering Department of Applied mathematics, biometrics and process control tel : +32 9 264 59 87 joris.m...@ugent.be --- Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php [[alternative HTML version deleted]] __ 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.
Re: [R] random sample from arrays
Could you elaborate? Both x - 1:4 set - matrix(nrow = 50, ncol = 11) for(i in c(1:11)){ set[,i] -sample(x,50) print(c(i,-, set), quote = FALSE) } and x - 1:4 set - matrix(nrow = 50, ncol = 11) for(i in c(1:50)){ set[i,] -sample(x,11) print(c(i,-, set), quote = FALSE) } run perfectly fine on my computer. Cheers On Fri, Jul 9, 2010 at 3:10 PM, Assa Yeroslaviz fry...@gmail.com wrote: Hi Joris, I guess i did it wrong again. but your example didn't work either. I still get the error massage. but replicate function just fine. I can even replicate the whole array lines. THX Assa On Thu, Jul 8, 2010 at 15:20, Joris Meys jorism...@gmail.com wrote: Don't know what exactly you're trying to do, but you make a matrix with 11 columns and 50 rows, then treat it as a vector. On top of that, you try to fill 50 rows/columns with 50 values. Off course that doesn't work. Did you check the warning messages when running the code? Either do : for(i in c(1:11)){ set[,i] -sample(x,50) print(c(i,-, set), quote = FALSE) } or for(i in c(1:50)){ set[i,] -sample(x,11) print(c(i,-, set), quote = FALSE) } Or just forget about the loop altogether and do : set - replicate(11,sample(x,50)) or set - t(replicate(50,sample(x,11))) cheers On Thu, Jul 8, 2010 at 8:04 AM, Assa Yeroslaviz fry...@gmail.com wrote: Hello R users, I'm trying to extract random samples from a big array I have. I have a data frame of over 40k lines and would like to produce around 50 random sample of around 200 lines each from this array. this is the matrix ID xxx_1c xxx__2c xxx__3c xxx__4c xxx__5T xxx__6T xxx__7T xxx__8T yyy_1c yyy_1c _2c 1 A_512 2.150295 2.681759 2.177138 2.142790 2.115344 2.013047 2.115634 2.189372 1.643328 1.563523 2 A_134 12.832488 12.596373 12.882581 12.987091 11.956149 11.994779 11.650336 11.995504 13.024494 12.776322 3 A_152 2.063276 2.160961 2.067549 2.059732 2.656416 2.075775 2.033982 2.111937 1.606340 1.548940 4 A_163 9.570761 10.448615 9.432859 9.732615 10.354234 10.993279 9.160038 9.104121 10.079177 9.828757 5 A_184 3.574271 4.680859 4.517047 4.047096 3.623668 3.021356 3.559434 3.156093 4.308437 4.045098 6 A_199 7.593952 7.454087 7.513013 7.449552 7.345718 7.367068 7.410085 7.022582 7.668616 7.953706 ... I tried to do it with a for loop: genelist - read.delim(/user/R/raw_data.txt) rownames(genelist) - genelist[,1] genes - rownames(genelist) x - 1:4 set - matrix(nrow = 50, ncol = 11) for(i in c(1:50)){ set[i] -sample(x,50) print(c(i,-, set), quote = FALSE) } which basically do the trick, but I just can't save the results outside the loop. After having the random sets of lines it wasn't a problem to extract the line from the arrays using subset. genSet1 -sample(x,50) random1 - genes %in% genSet1 subsetGenelist - subset(genelist, random1) is there a different way of creating these random vectors or saving the loop results outside tjhe loop so I cn work with them? Thanks a lot Assa [[alternative HTML version deleted]] __ 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. -- Joris Meys Statistical consultant Ghent University Faculty of Bioscience Engineering Department of Applied mathematics, biometrics and process control tel : +32 9 264 59 87 joris.m...@ugent.be --- Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php -- Joris Meys Statistical consultant Ghent University Faculty of Bioscience Engineering Department of Applied mathematics, biometrics and process control tel : +32 9 264 59 87 joris.m...@ugent.be --- Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php __ 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] random sample from arrays
Hello R users, I'm trying to extract random samples from a big array I have. I have a data frame of over 40k lines and would like to produce around 50 random sample of around 200 lines each from this array. this is the matrix ID xxx_1c xxx__2c xxx__3c xxx__4c xxx__5T xxx__6T xxx__7T xxx__8T yyy_1c yyy_1c _2c 1 A_512 2.150295 2.681759 2.177138 2.142790 2.115344 2.013047 2.115634 2.189372 1.643328 1.563523 2 A_134 12.832488 12.596373 12.882581 12.987091 11.956149 11.994779 11.650336 11.995504 13.024494 12.776322 3 A_152 2.063276 2.160961 2.067549 2.059732 2.656416 2.075775 2.033982 2.111937 1.606340 1.548940 4 A_163 9.570761 10.448615 9.432859 9.732615 10.354234 10.993279 9.160038 9.104121 10.079177 9.828757 5 A_184 3.574271 4.680859 4.517047 4.047096 3.623668 3.021356 3.559434 3.156093 4.308437 4.045098 6 A_199 7.593952 7.454087 7.513013 7.449552 7.345718 7.367068 7.410085 7.022582 7.668616 7.953706 ... I tried to do it with a for loop: genelist - read.delim(/user/R/raw_data.txt) rownames(genelist) - genelist[,1] genes - rownames(genelist) x - 1:4 set - matrix(nrow = 50, ncol = 11) for(i in c(1:50)){ set[i] -sample(x,50) print(c(i,-, set), quote = FALSE) } which basically do the trick, but I just can't save the results outside the loop. After having the random sets of lines it wasn't a problem to extract the line from the arrays using subset. genSet1 -sample(x,50) random1 - genes %in% genSet1 subsetGenelist - subset(genelist, random1) is there a different way of creating these random vectors or saving the loop results outside tjhe loop so I cn work with them? Thanks a lot Assa [[alternative HTML version deleted]] __ 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.
Re: [R] random sample from arrays
Don't know what exactly you're trying to do, but you make a matrix with 11 columns and 50 rows, then treat it as a vector. On top of that, you try to fill 50 rows/columns with 50 values. Off course that doesn't work. Did you check the warning messages when running the code? Either do : for(i in c(1:11)){ set[,i] -sample(x,50) print(c(i,-, set), quote = FALSE) } or for(i in c(1:50)){ set[i,] -sample(x,11) print(c(i,-, set), quote = FALSE) } Or just forget about the loop altogether and do : set - replicate(11,sample(x,50)) or set - t(replicate(50,sample(x,11))) cheers On Thu, Jul 8, 2010 at 8:04 AM, Assa Yeroslaviz fry...@gmail.com wrote: Hello R users, I'm trying to extract random samples from a big array I have. I have a data frame of over 40k lines and would like to produce around 50 random sample of around 200 lines each from this array. this is the matrix ID xxx_1c xxx__2c xxx__3c xxx__4c xxx__5T xxx__6T xxx__7T xxx__8T yyy_1c yyy_1c _2c 1 A_512 2.150295 2.681759 2.177138 2.142790 2.115344 2.013047 2.115634 2.189372 1.643328 1.563523 2 A_134 12.832488 12.596373 12.882581 12.987091 11.956149 11.994779 11.650336 11.995504 13.024494 12.776322 3 A_152 2.063276 2.160961 2.067549 2.059732 2.656416 2.075775 2.033982 2.111937 1.606340 1.548940 4 A_163 9.570761 10.448615 9.432859 9.732615 10.354234 10.993279 9.160038 9.104121 10.079177 9.828757 5 A_184 3.574271 4.680859 4.517047 4.047096 3.623668 3.021356 3.559434 3.156093 4.308437 4.045098 6 A_199 7.593952 7.454087 7.513013 7.449552 7.345718 7.367068 7.410085 7.022582 7.668616 7.953706 ... I tried to do it with a for loop: genelist - read.delim(/user/R/raw_data.txt) rownames(genelist) - genelist[,1] genes - rownames(genelist) x - 1:4 set - matrix(nrow = 50, ncol = 11) for(i in c(1:50)){ set[i] -sample(x,50) print(c(i,-, set), quote = FALSE) } which basically do the trick, but I just can't save the results outside the loop. After having the random sets of lines it wasn't a problem to extract the line from the arrays using subset. genSet1 -sample(x,50) random1 - genes %in% genSet1 subsetGenelist - subset(genelist, random1) is there a different way of creating these random vectors or saving the loop results outside tjhe loop so I cn work with them? Thanks a lot Assa [[alternative HTML version deleted]] __ 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. -- Joris Meys Statistical consultant Ghent University Faculty of Bioscience Engineering Department of Applied mathematics, biometrics and process control tel : +32 9 264 59 87 joris.m...@ugent.be --- Disclaimer : http://helpdesk.ugent.be/e-maildisclaimer.php __ 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.