I have a data frame in long format and I would like to randomly divide this data frame in half. The data frame consists of 39622 rows and I initially tried ... randomsample1 <- data[sample(nrow(data),19811), ] Where allows me to randomly select half of the rows and assign them to randomsample1 but then I couldn't figure out how to select those rows that were not selected and assign them to randomsample2. Please cc me if you reply as I'm a digest subscriber. Thanks, Chris
Randomly splitting a data frame in half
4 messages · Christopher David Desjardins, Dimitris Rizopoulos, justin bem
well, you need to keep track of the rows you sampled, e.g., dat <- data.frame(x = rnorm(20), y = rnorm(20), w = rnorm(20)) ii <- seq_len(nrow(dat)) ind1 <- sample(ii, 10) ind2 <- ii[!ii %in% ind1] dat[ind1, ] dat[ind2, ] I hope it helps. Best, Dimitris
Christopher David Desjardins wrote:
I have a data frame in long format and I would like to randomly divide this data frame in half. The data frame consists of 39622 rows and I initially tried ... randomsample1 <- data[sample(nrow(data),19811), ] Where allows me to randomly select half of the rows and assign them to randomsample1 but then I couldn't figure out how to select those rows that were not selected and assign them to randomsample2. Please cc me if you reply as I'm a digest subscriber. Thanks, Chris
______________________________________________ R-help at 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.
Dimitris Rizopoulos Assistant Professor Department of Biostatistics Erasmus University Medical Center Address: PO Box 2040, 3000 CA Rotterdam, the Netherlands Tel: +31/(0)10/7043478 Fax: +31/(0)10/7043014
Thanks that makes perfect sense! Chris
On 3/19/09 1:17 PM, Dimitris Rizopoulos wrote:
well, you need to keep track of the rows you sampled, e.g., dat <- data.frame(x = rnorm(20), y = rnorm(20), w = rnorm(20)) ii <- seq_len(nrow(dat)) ind1 <- sample(ii, 10) ind2 <- ii[!ii %in% ind1] dat[ind1, ] dat[ind2, ] I hope it helps. Best, Dimitris Christopher David Desjardins wrote:
I have a data frame in long format and I would like to randomly divide this data frame in half. The data frame consists of 39622 rows and I initially tried ... randomsample1 <- data[sample(nrow(data),19811), ] Where allows me to randomly select half of the rows and assign them to randomsample1 but then I couldn't figure out how to select those rows that were not selected and assign them to randomsample2. Please cc me if you reply as I'm a digest subscriber. Thanks, Chris
______________________________________________ R-help at 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.
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20090319/1e69b8ef/attachment-0002.pl>