Hi, May be this helps: DataA <- read.table(text="ID,Var1,Var2 1,A,100 1,B,50 2,A,200 2,B,100 2,B,50",sep=",",header=TRUE,stringsAsFactors=FALSE)
dcast(DataA,ID~Var1,value.var="Var2") ## I guess this is what you mentioned #Aggregation function missing: defaulting to length # ID A B #1 1 1 1 #2 2 1 2 DataB <- ddply(DataA,.(ID,Var1),transform,Var1ID=paste0(ID,seq_along(Var1))) dcast(DataB,ID+Var1ID~Var1,value.var="Var2")[,-2] # ID A B #1 1 100 50 #2 2 200 100 #3 2 NA 50 A.K. On Tuesday, February 18, 2014 6:08 PM, farnoosh sheikhi <farnoosh...@yahoo.com> wrote: For some reason, I get frequency not the values although I have var2 as numeric and no missing values. Why is that? Regards, Farnoosh Sheikhi On Thursday, February 13, 2014 1:29 PM, arun <smartpink...@yahoo.com> wrote: Sorry, the library should be library(reshape2) On Thursday, February 13, 2014 4:27 PM, arun <smartpink...@yahoo.com> wrote: HI Farnoosh, You can use ?dcast() library(plyr) dcast(DataA,ID~Var1,value.var="Var2") # ID A B #1 1 100 50 #2 2 200 100 A.K. On Thursday, February 13, 2014 2:59 PM, farnoosh sheikhi <farnoosh...@yahoo.com> wrote: Hi Arun, I hope all is well. I need to aggregate a data like below: DataA ID Var1 Var2 1 A100 1B50 2 A200 2B100 The transformed data should be like below: ID AB 1100 50 2200100 Thanks a lot. Regards, Farnoosh Sheikhi ______________________________________________ R-help@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.