Hi Rainer, thank you for your response. The combination of melt/cast was what I was looking for. Now, also the reshape-package and its advantage is a lot clearer to me.
cheers, johannes -------- Original-Nachricht -------- > Datum: Tue, 24 Jan 2012 19:28:43 +0100 > Von: Rainer Schuermann <rainer.schuerm...@gmx.net> > An: Johannes Radinger <jradin...@gmx.at> > CC: "r-help@r-project.org" <r-help@r-project.org> > Betreff: Re: [R] reshape dataframe to array (pivot table) > Hi, > > I wouldn't know how to fill the data into the array form you want, but > you can get the aggregated data with > > dfm <- melt( df ) > dfc <- cast( dfm, LOC ~ variable, sum ) > > dfc > LOC SPEC1 SPEC2 > 1 1 23 5 > 2 2 23 2 > 3 3 0 0 > > Hope this helps as a first step! > > Rgds, > Rainer > > > On 2012-01-24 17:15, Johannes Radinger wrote: > > Hello, > > > > I would like to reshape a dataframe into an array. This is kind a > similar task as Excel performs with a Pivot table. To illustrate it: > > > > LOC<- factor(c(1,2,2,3,1,1)) > > SPEC1<- c(0,0,23,0,12,11) > > SPEC2<- c(1,2,0,0,0,4) > > > > df<- data.frame(LOC,SPEC1,SPEC2) # original dataframe > > > > a<- > array(NA,dim=c(length(levels(LOC)),1,2),dimnames=list(levels(LOC),"LOC",c("SPEC1","SPEC2"))) > #new array set up, how it should look like > > > > The final array is splitted by the SPEC (for each SPEC an new layer), > and > > the LOC is collapsed so that there is only one line per level of LOC. > > The array should get populated with: > > 1) the sums > > 2) and presence/absence (can be easily calculated from sums) > > > > What is the best way to do that? I looked into reshape and > apply...probably one of them is suitable but I don't know how...Or has that > to be done > with a loop? > > > > cheers, > > /johannes -- "Feel free" - 10 GB Mailbox, 100 FreeSMS/Monat ... ______________________________________________ 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.