[R] How to re-combine values based on an index?
Brian Feeny
bfeeny at mac.com
Sun Dec 2 06:06:33 CET 2012
Thank you for your response, here is a better example of what I am trying to do:
data(iris)
index_setosa <- which(iris$Species == "setosa")
iris_setosa <- data.frame()
iris_setosa[index_setosa,] <-iris[index_setosa,]
iris_others <- data.frame()
iris_others[-index_setosa,] <- iris[-index_setosa,]
So the idea would be that iris_setosa is a dataframe of size 150, with 50 observations of setosa,
using their original same indices, and 100 observations of NA. Likewise iris_others would be
100 observations of species besides setosa, using their original indices, and there would be 50 NA's.
The above doesn't work. When I execute it, I am left with iris_setosa having 0 columns, I wish it to have all
the original columns of iris.
That said, once I get past the above (being able to split them out and keep original indices), I wish to be able to combine
iris_setosa and iris_others so that iris_combined is a data frame with no NA's and all the original data.
Does this make sense? So I am basically taking a dataframe, splitting it based on some criteria, and working on the two
split dataframes separately, and then I wish to recombine.
Brian
So at this point, I have iris_setosa a dataframe of size
On Dec 1, 2012, at 11:34 PM, William Dunlap wrote:
>> newdataset[testindex] = testset[testindex]
>> object 'dataset' not found
>
> Is that really what R printed? I get
>> newdataset[testindex] = testset[testindex]
> Error in newdataset[testindex] = testset[testindex] :
> object 'newdataset' not found
> but perhaps you have a different problem. Copy and paste
> (and read) the error message you got.
>
> Bill Dunlap
> Spotfire, TIBCO Software
> wdunlap tibco.com
>
>
>> -----Original Message-----
>> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf
>> Of Brian Feeny
>> Sent: Saturday, December 01, 2012 8:04 PM
>> To: r-help at r-project.org
>> 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 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.
More information about the R-help
mailing list