[R] reshape, direction=long: "multiple row names not allowed"

hadley wickham h.wickham at gmail.com
Wed Jan 14 15:07:51 CET 2009


On Wed, Jan 14, 2009 at 5:51 AM, Gustaf Rydevik
<gustaf.rydevik at gmail.com> wrote:
> Hi all,
>
> for some reason I always get stuck spending hours when trying to use
> reshape or the Reshape package. Heaven knows why.
> My latest frustration (in 2.7.1, so ignore if this has been fixed):
>
> test<-data.frame(matrix(rnorm(42*4),ncol=4),rep(1:21,2),rep(c("a","b"),each=21))
> reshape(test,varying=list(colnames(test)[1:4]),direction="long")
>
> test<-data.frame(matrix(rnorm(42*4),ncol=4),id=rep(1:21,2),rep(c("a","b"),each=21))
> reshape(test,varying=list(colnames(test)[1:4]),direction="long")
>
> The first works, but the second does not. The only information on why
> is that "duplicate row names are not allowed".
> It took me a fair time before figuring out that it was the "id"-column
> that caused problems.
> Perhaps something to fix, or at least give a more informative error message?

Well there isn't any problem with the reshape package:

test <- data.frame(
  matrix(rnorm(42 * 4), ncol = 4),
  A = rep(1:21,2),
  B = rep(c("a","b"), each = 21)
)
library(reshape)
melt(test, id = c("A", "B"))

but I'm not sure what you're trying to achieve.

Hadley

PS.  Usingwhitespacemakesyourcodeeasiertoread!

-- 
http://had.co.nz/




More information about the R-help mailing list