[R] by funtion

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


Hi

probably merge is what you want

see

?merge
Regards
Petr

r-help-bounces at r-project.org napsal dne 29.04.2010 09:13:34:

> Thanks Tengfei,
> I have another question. 
> > df=data.frame(name=c('AA','BB', 
'CC'),c1=c(23,123,5),c2=c(54,5,4),c3=c(0.
> 999,1,23),c4=c(0.78,0.99,54))
> > df
>   name  c1 c2     c3    c4
> 1   AA  23 54  0.999  0.78
> 2   BB 123  5  1.000  0.99
> 3   CC   5  4 23.000 54.00
> 
> > df1=data.frame(name=c('BB','AA', 'DD'),c5=c(98,87,54),c6=c(7,6,3))
> > df1
>   name c5 c6
> 1   BB 98  7
> 2   AA 87  6
> 3   DD 54  3
> 
> now I want to get interaction for df and df1 in terms of name. this is
>   name  c1   c2     c3    c4   c5   c6
>   AA     23   54  0.999  0.78  87   6
>   BB    123   5   1.000   0.99  98   7
> 
> could give advice?
> 
> 
> 
> 
> --- On Thu, 29/4/10, Tengfei Yin <yintengfei at gmail.com> wrote:
> 
> From: Tengfei Yin <yintengfei at gmail.com>
> Subject: Re: [R] by funtion
> To: "Petr PIKAL" <petr.pikal at precheza.cz>
> Cc: "Yuan Jian" <jayuan2008 at yahoo.com>, r-help at r-project.org
> Received: Thursday, 29 April, 2010, 6:44 AM
> 
> 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    c4AA 113 76 0.8945 0.885
> 
> BB 123  5 1.0000 0.990
> Regards
> TengfeiOn 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