[R] Help on reshape function

R. Michael Weylandt michael.weylandt at gmail.com
Tue Mar 6 14:44:33 CET 2012


library(reshape2)

melt(df, id.vars = c("ID1", "ID2", "ID3"))[, -4]
# To drop an extraneous column (but you should take a look and see
what it is for future reference)

Michael

On Tue, Mar 6, 2012 at 6:17 AM, mails <mails00000 at gmail.com> wrote:
> Hello,
>
>
> I am trying to reshape a data.frame in wide format into long format.
> Although in the reshape R documentation
> they programmer list some examples I am struggling to bring my data.frame
> into long and then transform it back into wide format. The data.frame I look
> at is:
>
>
> df <- data.frame(ID1 = c(1,1,1,1,1,1,1,1,1), ID2 = c("A", "A", "A", "B",
> "B", "B", "C", "C", "C"),
>
>                                 ID3 = c("E", "E", "E", "E", "E", "E", "E", "E", "E"),
>
>                                 X1 = c(1,4,3,5,2,4,6,4,2), X2 = c(6,8,9,6,7,8,9,6,7),
>
>                                 X3 = c(7,6,7,5,6,5,6,7,5), X4 = c(1,2,1,2,3,1,2,1,2))
>
>> df
>  ID1 ID2 ID3 X1 X2 X3 X4
> 1   1   A   E  1  6  7  1
> 2   1   A   E  4  8  6  2
> 3   1   A   E  3  9  7  1
> 4   1   B   E  5  6  5  2
> 5   1   B   E  2  7  6  3
> 6   1   B   E  4  8  5  1
> 7   1   C   E  6  9  6  2
> 8   1   C   E  4  6  7  1
> 9   1   C   E  2  7  5  2
>
> I want to use the reshape function to get the following result:
>
>> df
>  ID1 ID2 ID3 X
> 1   1   A   E  1
> 2   1   A   E  4
> 3   1   A   E  3
> 4   1   B   E  5
> 5   1   B   E  2
> 6   1   B   E  4
> 7   1   C   E  6
> 8   1   C   E  4
> 9   1   C   E  2
>
> 10   1   A   E  6
> 11   1   A   E  8
> 12   1   A   E  9
> 13   1   B   E  6
> 14   1   B   E  7
> 15   1   B   E  8
> 16   1   C   E  9
> 17   1   C   E  6
> 18   1   C   E  7
>
> 19   1   A   E  7
> 20   1   A   E  6
> 21   1   A   E  7
> 22   1   B   E  5
> 23   1   B   E  6
> 24   1   B   E  5
> 25   1   C   E  6
> 26   1   C   E  7
> 27   1   C   E  5
>
> 28   1   A   E  1
> 29   1   A   E  2
> 30   1   A   E  1
> 31   1   B   E  2
> 32   1   B   E  3
> 33   1   B   E  1
> 34   1   C   E  2
> 35   1   C   E  1
> 36   1   C   E  2
>
>
> Can anyone help?
>
> Cheers
>
>
>
> --
> View this message in context: http://r.789695.n4.nabble.com/Help-on-reshape-function-tp4449464p4449464.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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