[R] How to reshape wide format data.frame to long format?
Abhijit Dasgupta
adasgupta at araastat.com
Thu Jan 20 17:03:33 CET 2011
I would think that the following code should work:
newcodesM = reshape(codesM, id=1)
If other variables in the data.frame are factors, reshape thinks all of them are ID variables and tries to use all of them as "keys". Specifying the id variable you want to keep (I used id=1 since "key" is in the 1st column) will probably solve the issue.
Abhijit
On Jan 20, 2011, at 10:51 AM, Fredrik Karlsson wrote:
> Dear list,
>
> I need to convert this data.frame
>
>> names(codesM)
> [1] "key" "AMR.pa1.M" "AMR.pa2.M" "AMR.pa3.M" "AMR.pa4.M"
> [6] "AMR.pa5.M" "AMR.pa6.M" "AMR.pa7.M" "AMR.pa8.M" "AMR.pa9.M"
> [11] "AMR.pa10.M" "AMR.ta1.M" "AMR.ta2.M" "AMR.ta3.M" "AMR.ta4.M"
> [16] "AMR.ta5.M" "AMR.ta6.M" "AMR.ta7.M" "AMR.ta8.M" "AMR.ta9.M"
> [21] "AMR.ta10.M" "AMR.ka1.M" "AMR.ka2.M" "AMR.ka3.M" "AMR.ka4.M"
> [26] "AMR.ka5.M" "AMR.ka6.M" "AMR.ka7.M" "AMR.ka8.M" "AMR.ka9.M"
> [31] "AMR.ka10.M" "SMR.pa1.M" "SMR.pa2.M" "SMR.pa3.M" "SMR.pa4.M"
> [36] "SMR.pa5.M" "SMR.pa6.M" "SMR.pa7.M" "SMR.pa8.M" "SMR.pa9.M"
> [41] "SMR.pa10.M" "SMR.ta1.M" "SMR.ta2.M" "SMR.ta3.M" "SMR.ta4.M"
> [46] "SMR.ta5.M" "SMR.ta6.M" "SMR.ta7.M" "SMR.ta8.M" "SMR.ta9.M"
> [51] "SMR.ta10.M" "SMR.ka1.M" "SMR.ka2.M" "SMR.ka3.M" "SMR.ka4.M"
> [56] "SMR.ka5.M" "SMR.ka6.M" "SMR.ka7.M" "SMR.ka8.M" "SMR.ka9.M"
> [61] "SMR.ka10.M"
>> dim(codesM)
> [1] 42 61
>
> into a 3 x 2501 data.frame where the "key" variable is kept, the
> values in columns 2-61 above is inserted into a "values" column and
> the name of the column is inserted in a third column ("variable"
> perhaps).
>
> Like
>
> key variable value
> POSTOFF_1_1 AMR.pa1.M 5
> POSTOFF_1_1 AMR.pa2.M 3
> ....
>
> I think I should be able to do this using the "reshape" function, but
> I cannot get it to work. I think I need some help to understand
> this...
>
>
> (If I could split the "variable" into three separate columns splitting
> by ".", that would be even better.)
>
> I appreciate all the help I could get.
>
> /Fredrik
>
> --
> "Life is like a trumpet - if you don't put anything into it, you don't
> get anything out of it."
>
> ______________________________________________
> 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