Skip to content
Prev 325079 / 398503 Next

reshaping a data frame

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))
? 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***
##
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.