[R] by funtion

Petr PIKAL petr.pikal at precheza.cz
Thu Apr 29 09:18:07 CEST 2010


Hi

sorry I did not read your reply as thoroughly. But generally matrices are 
quite often exchanged for data frames. Also if you have list with mixture 
of numeric and nonumeric data such approach results in nonumeric output as 
matrix can have values only of one type. I would therefore generally 
prefer

> dd=do.call('data.frame',aa)
> dd
         AA     BB
c1 113.0000 123.00
c2  76.0000   5.00
c3   0.8945   1.00
c4   0.8850   0.99
> t(dd)
    c1 c2     c3    c4
AA 113 76 0.8945 0.885
BB 123  5 1.0000 0.990

approach

Regards
Petr

r-help-bounces at r-project.org napsal dne 29.04.2010 08:44:10:

> Hi,
> 
> Thanks, actually I mentioned in the reply, you need to turn the matrix 
into
> data frame in the end if use this method. e.g
> 
> >
> 
df=data.frame(name=c('AA','BB','AA'),c1=c(23,123,203),c2=c(54,5,98),c3=c(0.
> 999,1,0.79),c4=c(0.78,0.99,0.99))
> > aa=by(df[,2:5],df$name,mean)
> > dd=do.call('rbind',aa)
> > df=data.frame(dd)
> > df
>     c1 c2     c3    c4
> AA 113 76 0.8945 0.885
> BB 123  5 1.0000 0.990
> 
> Regards
> 
> Tengfei
> On Thu, Apr 29, 2010 at 1:30 AM, Petr PIKAL <petr.pikal at precheza.cz> 
wrote:
> 
> > Hi
> >
> > r-help-bounces at r-project.org napsal dne 29.04.2010 08:11:41:
> >
> > > Hi
> > >
> > > you could try
> > >
> > > do.call('rbind',aa)
> >
> > No, No, No. rbind and cbind binds vectors as rows or columns of
> > ***matrix***, result is not a data frame
> >
> > do.call("rbind",aa)
> >    X069rutil X102anatas
> > 105      26.9        7.9
> > 200      22.8       10.6
> > 400      30.6       13.3
> > 600      50.8       20.6
> > 800      78.7         NA
> > exp.df<-do.call("rbind",aa)
> > str(exp.df)
> >  num [1:5, 1:2] 26.9 22.8 30.6 50.8 78.7 7.9 10.6 13.3 20.6 NA
> >  - attr(*, "dimnames")=List of 2
> >  ..$ : chr [1:5] "105" "200" "400" "600" ...
> >  ..$ : chr [1:2] "X069rutil" "X102anatas"
> >
> > If some object has rectangular shape and has column names it does not
> > automatically mean that it is data frame
> >
> > Regards
> > Petr
> >
> >
> > >
> >
> > >
> > > then turn the matrix into data frame
> > >
> > > regards
> > >
> > > Tengfei
> > >
> > > On Wed, Apr 28, 2010 at 10:56 PM, Yuan Jian <jayuan2008 at yahoo.com>
> > wrote:
> > >
> > > > Hello,
> > > >
> > > > I have a data.frame:
> > > > name    col1    col2    col3    col4
> > > > AA    23    54    0.999    0.78
> > > > BB    123    5    1    0.99
> > > > AA    203    98    0.79    0.99
> > > >
> > > > I want to get mean value data.frame in terms of name:
> > > >
> > > > name    col1    col2    col3    col4
> > > >
> > > > AA    113.0000  76.0000   0.8945   0.8850
> > > >
> > > > BB    123.00   5.00   1.00   0.99
> > > >
> > > > I tried to use by function:
> > > >
> > > > >aa<-by(test[,2:5], feature, mean)
> > > > I found aa is "by" function.
> > > > > class(aa)
> > > > [1] "by"
> > > >
> > > > how can I transfer aa to a data frame?
> > > >
> > > > thanks
> > > > YU
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >        [[alternative HTML version deleted]]
> > > >
> > > >
> > > > ______________________________________________
> > > > R-help at 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.
> > > >
> > > >
> > >
> > >
> > > --
> > > Tengfei Yin
> > > MCDB PhD student
> > > 1620 Howe Hall, 2274,
> > > Iowa State University
> > > Ames, IA,50011-2274
> > > Homepage: www.tengfei.name
> > >
> > >    [[alternative HTML version deleted]]
> > >
> > > ______________________________________________
> > > R-help at 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.
> >
> >
> 
> 
> -- 
> Tengfei Yin
> MCDB PhD student
> 1620 Howe Hall, 2274,
> Iowa State University
> Ames, IA,50011-2274
> Homepage: www.tengfei.name
> 
>    [[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help at 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.



More information about the R-help mailing list