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

Gustaf Rydevik gustaf.rydevik at gmail.com
Wed Jan 14 16:33:16 CET 2009


On Wed, Jan 14, 2009 at 3:07 PM, hadley wickham <h.wickham at gmail.com> wrote:
> 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/
>

Hi,

sorry, I didn't mean to imply that the Reshape package fails here.
Just that for some reason I find it difficult to wrap my head around
the syntax of both the reshape command and the Reshape package...
Your code was exactly was I was trying to achieve btw.
Thank you!

regards,
Gustaf
ps: Butitisooeasytojustcodewithoutbotheringaboutmerehumanreadability. :-)



-- 
Gustaf Rydevik, M.Sci.
tel: +46(0)703 051 451
address:Essingetorget 40,112 66 Stockholm, SE
skype:gustaf_rydevik




More information about the R-help mailing list