Hi, No problem. If you have two columns and need the ratio, you could use ?transform testframe$data1 <- c(2.24,6.5,4.34)
dcast(transform(testframe,ratio=data/data1),factor2~factor1,value.var="ratio",mean) # factor2 a b #1 1 1.491071 NaN #2 2 0.483871 0.6461538 A.K. On Monday, December 23, 2013 10:49 AM, Onur Uncu <onuru...@gmail.com> wrote: Thank you Arun. May I ask a follow up question? What if the function needed to take multiple arguments? So, instead of "mean", suppose the function was function(x,y){x/y} and suppose x and y inputs were 2 columns of a data frame. In other words, is there an mapply type function under reshape package? thnks On Mon, Dec 23, 2013 at 2:45 PM, arun <smartpink...@yahoo.com> wrote: HI, >I think this will be more appropriate. > >dcast(testframe,factor2~factor1,value.var="data",mean) > factor2 a b >1 1 3.34 NaN >2 2 2.10 4.2 >A.K. > > >On Monday, December 23, 2013 9:37 AM, arun <smartpink...@yahoo.com> wrote: >Hi, >You could try: >library(reshape2) >dcast(as.data.frame(as.table(by(testframe[,3],testframe[,-3],mean))),factor2~factor1,value.var="Freq") ># factor2 a b >#1 1 3.34 NA >#2 2 2.10 4.2 > >A.K. > > > > >On Monday, December 23, 2013 9:24 AM, Onur Uncu <onuru...@gmail.com> wrote: >Sure, here is a reproducible example: > >testframe<-data.frame(factor1=c("a","b","a"),factor2=c(1,2,2),data=c(3.34,4.2,2.1)) > >splitframe<-split(testframe,list(factor1=testframe$factor1,factor2=testframe$factor2)) > >lapply(splitframe,function(x)mean(x[,"data"])) > >The above lapply returns > >$a.1 >[1] 3.34 > >$b.1 >[1] NaN > >$a.2 >[1] 2.1 > >$b.2 >[1] 4.2 > >The results are correct but not presented in a format I prefer... Factor1 and >factor2 are combined into a single factor, which is not desired. I want to >keep them seperate. Ideally, a table output as below. > > a b >1 3.34 NaN >2 2.1 4.2 > >How can I achieve this please? > > >> On 23 Dec 2013, at 00:44, Bert Gunter <gunter.ber...@gene.com> wrote: >> >> I believe you missed >> ?tapply >> which does what you want I think (in the absence of a reproducible >> example one cannot be sure). >> >> Cheers, >> Bert >> >> >> >> Bert Gunter >> Genentech Nonclinical Biostatistics >> (650) 467-7374 >> >> "Data is not information. Information is not knowledge. And knowledge >> is certainly not wisdom." >> H. Gilbert Welch >> >> >> >> >>> On Sun, Dec 22, 2013 at 3:54 PM, Onur Uncu <onuru...@gmail.com> wrote: >>> R Users, >>> >>> I have a data frame which I split using 2 factors using the split function: >>> >>> split(datframe, list(f=factor1, f2=factor2)); >>> >>> I then used lapply to get some summary statistics grouped by factor1 and >>> factor2. >>> >>> I now want to change the appearance of this output. I want to get a 2 >>> dimensional table where columns represent values of factor1, rows represent >>> values of factor2 and the entries on the table represent the summary >>> results that were calculated by lapply. >>> >>> I tried as.table() function but did not help. It seems the problem is that >>> R combined factor1 and factor 2 into one factor when I used list(f=factor1, >>> f2=factor2) in the split function. So R is now unable to treat them as 2 >>> different factors in order to put them on row and columns of a table... Any >>> ideas how I can achieve the desired table? >>> >>> Thanks for your help. >>> >>> [[alternative HTML version deleted]] >>> >>> ______________________________________________ >>> 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. > > >______________________________________________ >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.