[R] reshape help
Chuck Cleland
ccleland at optonline.net
Wed Sep 12 22:39:27 CEST 2007
juli pausas wrote:
> Hi,
> I'm trying to use reshape but I cannot quite understand how it works.
> Could somebody help me on this? Example, my data is something like:
>
> mydat <- data.frame(tree= 1:10, serra=rep(1:2, c(5,5)), bt01= 101:110,
> bt02= 201:210, bt03= 301:310, mm01= 9101:9110, mm02= 9201:9210, mm03=
> 9301:9310)
>
>> mydat
> tree serra bt01 bt02 bt03 mm01 mm02 mm03
> 1 1 1 101 201 301 9101 9201 9301
> 2 2 1 102 202 302 9102 9202 9302
> 3 3 1 103 203 303 9103 9203 9303
> 4 4 1 104 204 304 9104 9204 9304
> 5 5 1 105 205 305 9105 9205 9305
> 6 6 2 106 206 306 9106 9206 9306
> 7 7 2 107 207 307 9107 9207 9307
> 8 8 2 108 208 308 9108 9208 9308
> 9 9 2 109 209 309 9109 9209 9309
> 10 10 2 110 210 310 9110 9210 9310
>
> that is, in the "wide form" with 2 constant variables (tree, serra)
> and 6 variables that correspond to two variables (bt mm) measured in 3
> years 01, 02, 03
>
> I would like to reshaped the data to the long format as follows:
>
> tree serra YEAR bt mm
> 1 1 2001 101 9101
> 2 1 2001 102 9102
> 3 1 2001 103 9103
> 4 1 2001 104 9104
> 5 1 2001 105 9105
> 6 2 2001 106 9106
> 7 2 2001 107 9107
> 8 2 2001 108 9108
> 9 2 2001 109 9109
> 10 2 2001 110 9110
> 1 1 2002 201 9201
> 2 1 2002 202 9202
> 3 1 2002 203 9203
> 4 1 2002 204 9204
> 5 1 2002 205 9205
> 6 2 2002 206 9206
> 7 2 2002 207 9207
> 8 2 2002 208 9208
> 9 2 2002 209 9209
> 10 2 2002 210 9210
> 1 1 2003 301 9301
> 2 1 2003 302 9302
> 3 1 2003 303 9303
> 4 1 2003 304 9304
> 5 1 2003 305 9305
> 6 2 2003 306 9306
> 7 2 2003 307 9307
> 8 2 2003 308 9308
> 9 2 2003 309 9309
> 10 2 2003 310 9310
>
> I would appreciate if somebody let me know how could I do this with reshape
reshape(mydat, varying = list(c("bt01","bt02","bt03"),
c("mm01","mm02","mm03")),
v.names=c("bt","mm"),
timevar = "YEAR",
times = c(2001, 2002, 2003),
idvar = "tree",
direction = "long")
tree serra YEAR bt mm
1.2001 1 1 2001 101 9101
2.2001 2 1 2001 102 9102
3.2001 3 1 2001 103 9103
4.2001 4 1 2001 104 9104
5.2001 5 1 2001 105 9105
6.2001 6 2 2001 106 9106
7.2001 7 2 2001 107 9107
8.2001 8 2 2001 108 9108
9.2001 9 2 2001 109 9109
10.2001 10 2 2001 110 9110
1.2002 1 1 2002 201 9201
2.2002 2 1 2002 202 9202
3.2002 3 1 2002 203 9203
4.2002 4 1 2002 204 9204
5.2002 5 1 2002 205 9205
6.2002 6 2 2002 206 9206
7.2002 7 2 2002 207 9207
8.2002 8 2 2002 208 9208
9.2002 9 2 2002 209 9209
10.2002 10 2 2002 210 9210
1.2003 1 1 2003 301 9301
2.2003 2 1 2003 302 9302
3.2003 3 1 2003 303 9303
4.2003 4 1 2003 304 9304
5.2003 5 1 2003 305 9305
6.2003 6 2 2003 306 9306
7.2003 7 2 2003 307 9307
8.2003 8 2 2003 308 9308
9.2003 9 2 2003 309 9309
10.2003 10 2 2003 310 9310
> Thanks in advance
>
> Juli
--
Chuck Cleland, Ph.D.
NDRI, Inc.
71 West 23rd Street, 8th floor
New York, NY 10010
tel: (212) 845-4495 (Tu, Th)
tel: (732) 512-0171 (M, W, F)
fax: (917) 438-0894
More information about the R-help
mailing list