Skip to content
Back to formatted view

Raw Message

Message-ID: <1370873584.94980.YahooMailNeo@web142604.mail.bf1.yahoo.com>
Date: 2013-06-10T14:13:04Z
From: arun
Subject: reshaping a data frame
In-Reply-To: <CAJbA1KCmxcGktKQ8Pm6ssChTwA2Gq873k1pb_=TEFhQOtXtT7g@mail.gmail.com>

Hi,If your dataset is similar to the one below:
set.seed(24)
temp1_df<- data.frame(names=rep(c('foo','foo1'),each=6),variable=rep(c('w','x'),times=6),value=sample(25:40,12,replace=TRUE),stringsAsFactors=FALSE)

library(reshape2)
?res<-dcast(within(temp1_df,{Seq1<-ave(value,names,variable,FUN=seq_along)}),names+Seq1~variable,value.var="value")[,-2]
res
#? names? w? x
#1?? foo 29 28
#2?? foo 36 33
#3?? foo 35 39
#4? foo1 29 37
#5? foo1 37 29
#6? foo1 34 30
A.K.


----- Original Message -----
From: Abhishek Pratap <abhishek.vit at gmail.com>
To: "r-help at r-project.org" <r-help at r-project.org>
Cc: 
Sent: Monday, June 10, 2013 2:15 AM
Subject: [R] reshaping a data frame

Hi Guys

I am trying to cast a data frame but not aggregate the rows for the
same variable.

here is a contrived example.

**input**
temp_df? <- data.frame(names=c('foo','foo','foo'),variable=c('w','w','w'),value=c(34,65,12))
> temp_df
? names variable value
1?  foo? ? ? ? w? ? 34
2?  foo? ? ? ? w? ? 65
3?  foo? ? ? ? w? ? 12


###########
**Want this**
############
names? w
foo? ? ? ?  34
foo? ? ? ?  65
foo? ? ? ?  12


##
**getting this***
##
> cast(temp_df)
Aggregation requires fun.aggregate: length used as default
? names w
1?  foo 3


In real dataset? the categorical column 'variable' will have many more
categorical variable.

Thanks!
-Abhi

______________________________________________
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.