Hi, ?merge(), ?rbind(), or ?join() from library(plyr) set.seed(5) trainset<-data.frame(ID=1:10,col2=runif(10,0,1)) dataset <- trainset trainset<-dataset[-testindex,] testset<-dataset[testindex,] merge(testset,trainset,by=c("ID","col2"),all=TRUE) # ID col2 #1 1 0.2002145 #2 2 0.6852186 #3 3 0.9168758 #4 4 0.2843995 #5 5 0.1046501 #6 6 0.7010575 #7 7 0.5279600 #8 8 0.8079352 #9 9 0.9565001 #10 10 0.1104530
You can also do this as: newdataset<-data.frame(ID=rep(NA,nrow(dataset)),col2=rep(NA,nrow(dataset))) newdataset[testindex,]<-testset newdataset[-testindex,]<-trainset head(newdataset) # ID col2 #1 1 0.2002145 #2 2 0.6852186 #3 3 0.9168758 #4 4 0.2843995 #5 5 0.1046501 #6 6 0.7010575 A.K. ----- Original Message ----- From: Brian Feeny <bfe...@mac.com> To: r-help@r-project.org Cc: Sent: Saturday, December 1, 2012 11:04 PM Subject: [R] How to re-combine values based on an index? I am able to split my df into two like so: dataset <- trainset index <- 1:nrow(dataset) testindex <- sample(index, trunc(length(index)*30/100)) trainset <- dataset[-testindex,] testset <- dataset[testindex,-1] So I have the index information, how could I re-combine the data using that back into a single df? I tried what I thought might work, but failed with: newdataset[testindex] = testset[testindex] object 'dataset' not found newdataset[-testindex] = trainset[-testindex] object 'dataset' not found Brian ______________________________________________ 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.