On Dec 18, 2007 9:07 AM, Bert Jacobs <[EMAIL PROTECTED]> wrote: > > Hi, > > I'm having a bit of problems in creating a new dataframe. > Below you'll find a description of the current dataframe and of the > dataframe that needs to be created. > Can someone help me out on this one? > Thx in advance. > Bert > > Current Dataframe > > Var1 Var2 Var3 Var4 > A Fa W1 1 > A Si W1 2 > A Fa W2 3 > A Si W3 4 > B Si W1 5 > C La W2 6 > C Do W4 7 > > New Dataframe > > Var1 Var2 W1 W2 W3 W4 > A Fa 1 3 > A Si 2 4 > A La > A Do > B Fa > B Si 5 > B La > B Do > C Fa > C Si > C La 6 > C Do 7
Try this: out <- ftable(xtabs(Var4 ~ Var1 + Var2 + Var3, DF)) out[out == 0] <- NA Omit the last line is 0 fill is what you had wanted. This will do it except that it will eliminate all rows without data: out2 <- reshape(DF, dir = "wide", timevar = "Var3", idvar = c("Var1", "Var2")) out2[is.na(out2)] <- 0 Omit the last line if NA fill is what you wanted. The reshape package melt/cast routines (see Hadley's solution in this thread) can be used to give a similar result to the reshape command above (i.e. all missing rows are not included) except that cast is a bit more flexible since it has a fill= argument. ______________________________________________ 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.