Thanks Arun! I see now that the description of the "varying" argument
for
reshape includes the following:
"This is canonically a list of vectors of variable names"
Originally, I saw in the Details section:
"Notice that the order of variables in varying is like
x.1,y.1,x.2,y.2."
Best,
Doug
On Fri, Jan 24, 2014 at 1:03 PM, Doug Morrison <dougmor@gmail.com> wrote:
> Dear R-Help readers,
>
> I am writing to ask about some behavior by stats::reshape() that surprised
> me. In the example below, I expected the values of variables "R"
and "L" in
> data.frame "test" to be the reverse of what they are - ie I
expected that
> test$R = seq(1:29, by =2) and test$L = seq(2:30, by = 2).
>
> data1 = data.frame(
> check.names = F,
> Participant = 1,
> Treatment = "A", "2 min R" = 1L,
> "2 min L" = 2L, "4 min R" = 3L, "4 min
L" = 4L, "6 min R" = 5L,
> "6 min L" = 6L, "8 min R" = 7L, "8 min
L" = 8L, "10 min R" = 9L,
> "10 min L" = 10L, "12 min R" = 11L, "12
min L" = 12L, "14 min R" > 13L,
> "14 min L" = 14L, "16 min R" = 15L, "16
min L" = 16L, "18 min R" > 17L,
> "18 min L" = 18L, "20 min R" = 19L, "20
min L" = 20L, "22 min R" > 21L,
> "22 min L" = 22L, "24 min R" = 23L, "24
min L" = 24L, "26 min R" > 25L,
> "26 min L" = 26L, "28 min R" = 27L, "28
min L" = 28L, "30 min R" > 29L,
> "30 min L" = 30L)
>
> varying1 = colnames(data1)[3:32]
>
> test = reshape(
> data = data1,
> direction = "long",
> idvar = c("Participant","Treatment"),
> v.names = (c("R","L")),
> timevar = "Time",
> times = seq(2, 30, by = 2),
> varying = varying1)
>
> test
>
> [ end code]
>
> I looked into the definition of reshape, and found the following line:
>
> varying <- split(varying, rep(v.names, ntimes))
>
> The following edit seems to produce the behavior I expected:
>
> varying <- split(varying, rep(v.names, ntimes))[v.names]
>
> However, I strongly suspect I am making a mistake; I'd be grateful if
> someone would help me find it.
>
> Here is the output of sessionInfo():
>
> R version 3.0.2 (2013-09-25)
> Platform: x86_64-apple-darwin10.8.0 (64-bit)
>
> locale:
> [1] C
>
> attached base packages:
> [1] graphics datasets stats utils grDevices methods base
>
> other attached packages:
> [1] rj_1.1.3-1
>
> loaded via a namespace (and not attached):
> [1] rj.gd_1.1.3-1 tools_3.0.2
>
> Thanks,
> Doug
>
[[alternative HTML version deleted]]