Hi Mat,
Please check the str() of your dat2. If I change dat2$DATE <- as.POSIXlt(dat2$DATE) dcast(ddply(merge(dat1,dat2,by="FS_ID")[,-1],.(ABNR), mutate, DATE=seq_along(DATE)),ABNR~DATE,value.var="POST") #Error in attributes(out) <- attributes(col) : # 'names' attribute [9] must be the same length as the vector [3] A.K. On Wednesday, February 26, 2014 9:57 AM, Matthias Weber <matthias.we...@fntsoftware.com> wrote: Thanks first for the help, Your description works with the example perfect. If I try it with my data, there is an error. error in attributes(out) <- attributes(col) : attribute 'names' [306] must have the same length, than the vector [1] My data.frame "dat2" has 306 lines, could be this the reason? What does R mean with the vector? Thanks a lot for the help. Best regards. Mat. -----Ursprüngliche Nachricht----- Von: arun [mailto:smartpink...@yahoo.com] Gesendet: Mittwoch, 26. Februar 2014 10:08 An: Matthias Weber Betreff: Re: [R] combine 2 data.frames in dependence of the ID #or you could do: dcast(ddply(merge(dat1,dat2,by="FS_ID")[,-1],.(ABNR), mutate, DATE=cut(seq_along(DATE),breaks=c(0,1,2,3,4,5,6,7,8,9),labels=c("FIRST","SECOND","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE"))),ABNR~DATE,value.var="POST") # ABNR FIRST SECOND THREE #1 33688812 28 29 28.3 #2 33800000 10 NA NA A.K. On Wednesday, February 26, 2014 3:58 AM, arun <smartpink...@yahoo.com> wrote: Try: library(plyr) library(reshape2) res <- dcast(ddply(merge(dat1,dat2,by="FS_ID")[,-1],.(ABNR), mutate, DATE=seq_along(DATE)),ABNR~DATE,value.var="POST") colnames(res)[-1] <- c("FIRST","SECOND","THREE") res # ABNR FIRST SECOND THREE #1 33688812 28 29 28.3 #2 33800000 10 NA NA A.K. On Wednesday, February 26, 2014 3:06 AM, Mat <matthias.we...@fnt.de> wrote: thanks for the help up to here. A little problem remains. I have different "ABNR", if i try it with another ABNR, the Column extend for each ABNR, it should start with "FIRST" again. dat1 <- read.table(text="FS_ID ABNR 9327 33688812 11391 33688812 11392 33688812 11388 33688812 11390 33688812 12028 33688812 12029 33688812 19999 33800000",sep="",header=TRUE) dat2 <- read.table(text="FS_ID DATE POST 11390 2012-12-13 28 12029 2013-01-17 28.3 11391 2011-02-20 29 19999 2014-02-20 10",header=TRUE,stringsAsFactors=FALSE) library(reshape2) setNames(dcast(merge(dat1,dat2, by="FS_ID")[,-1],ABNR~DATE,value.var="POST"),c("ABNR","FIRST","SECOND")) ABNR FIRST SECOND THREE NA 1 33688812 29 28 28.3 NA 2 33800000 NA NA NA 10 it shoult start for each ABNR in the "FIRST"-Column again. Right would be: ABNR FIRST SECOND THREE 1 33688812 29 28 28.3 2 33800000 10 NA NA Thank you. -- View this message in context: http://r.789695.n4.nabble.com/combine-2-data-frames-in-dependence-of-the-ID-tp4685781p4685855.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ 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. ______________________________________________ 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.