An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20130523/1af07959/attachment.pl>
convert a character string to a name
6 messages · John, arun, Blaser Nello +2 more
?with(dftest,aggregate(cbind(x,y),list(z),FUN=mean))
#? Group.1 x y
#1?????? 0 7 1
#2?????? 1 6 2
#or
library(plyr)
ddply(dftest,.(z),numcolwise(mean))
#? z x y
#1 0 7 1
#2 1 6 2
A.K.
----- Original Message -----
From: jpm miao <miaojpm at gmail.com>
To: r-help <r-help at r-project.org>
Cc:
Sent: Thursday, May 23, 2013 3:05 AM
Subject: [R] convert a character string to a name
Hi,
? From time to time I need to do the aggregation. To illustrate, I present
a toy example as below. In this example, the task is to aggregate x and y
by z with the function mean.
? Could I call the aggregation function with x_test, where
? x_test=c("x","y")? Thanks
Miao
dftest<-data.frame(x=1:12, y=(1:12)%%4, z=(1:12)%%2) dftest
? ? x y z 1? 1 1 1 2? 2 2 0 3? 3 3 1 4? 4 0 0 5? 5 1 1 6? 6 2 0 7? 7 3 1 8? 8 0 0 9? 9 1 1 10 10 2 0 11 11 3 1 12 12 0 0
aggregate(cbind(x,y)~z, data=dftest, FUN=mean)
? z x y 1 0 7 1 2 1 6 2
x_test=c("x","y")
aggregate(cbind(x_test)~z, data=dftest, FUN=mean)
Error in model.frame.default(formula = cbind(x_test) ~ z, data = dftest) : ? variable lengths differ (found for 'z') a1aggregate(cbind(factor(x_test))~z, data=dftest, FUN=mean) Error in model.frame.default(formula = cbind(factor(x_test)) ~ z, data = dftest) : ? variable lengths differ (found for 'z')
aggregate(factor(x_test)~z, data=dftest, FUN=mean)
Error in model.frame.default(formula = factor(x_test) ~ z, data = dftest) : ? variable lengths differ (found for 'z') ??? [[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.
If you want to use the character string:
attach(dftest)
aggregate(cbind(sapply(x_test, get))~z, data=dftest, FUN=mean)
# or
with(dftest,aggregate(cbind(sapply(x_test, get)),list(z),FUN=mean))
detach(dftest)
Cheers,
Nello
-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of arun
Sent: Donnerstag, 23. Mai 2013 09:19
To: jpm miao
Cc: R help
Subject: Re: [R] convert a character string to a name
?with(dftest,aggregate(cbind(x,y),list(z),FUN=mean))
#? Group.1 x y
#1?????? 0 7 1
#2?????? 1 6 2
#or
library(plyr)
ddply(dftest,.(z),numcolwise(mean))
#? z x y
#1 0 7 1
#2 1 6 2
A.K.
----- Original Message -----
From: jpm miao <miaojpm at gmail.com>
To: r-help <r-help at r-project.org>
Cc:
Sent: Thursday, May 23, 2013 3:05 AM
Subject: [R] convert a character string to a name
Hi,
? From time to time I need to do the aggregation. To illustrate, I present a toy example as below. In this example, the task is to aggregate x and y by z with the function mean.
? Could I call the aggregation function with x_test, where
? x_test=c("x","y")? Thanks
Miao
dftest<-data.frame(x=1:12, y=(1:12)%%4, z=(1:12)%%2) dftest
? ? x y z 1? 1 1 1 2? 2 2 0 3? 3 3 1 4? 4 0 0 5? 5 1 1 6? 6 2 0 7? 7 3 1 8? 8 0 0 9? 9 1 1 10 10 2 0 11 11 3 1 12 12 0 0
aggregate(cbind(x,y)~z, data=dftest, FUN=mean)
? z x y 1 0 7 1 2 1 6 2
x_test=c("x","y")
aggregate(cbind(x_test)~z, data=dftest, FUN=mean)
Error in model.frame.default(formula = cbind(x_test) ~ z, data = dftest) : ? variable lengths differ (found for 'z') a1aggregate(cbind(factor(x_test))~z, data=dftest, FUN=mean) Error in model.frame.default(formula = cbind(factor(x_test)) ~ z, data = dftest) : ? variable lengths differ (found for 'z')
aggregate(factor(x_test)~z, data=dftest, FUN=mean)
Error in model.frame.default(formula = factor(x_test) ~ z, data = dftest) : ? variable lengths differ (found for 'z') ??? [[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. ______________________________________________ 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.
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20130523/33911f2e/attachment.pl>
Sorry, didn't read your question properly
#Just a modification without attach():
?aggregate(cbind(sapply(x_test,get,dftest))~z,data=dftest,FUN=mean)
#? z x y
#1 0 7 1
#2 1 6 2
#if you need to aggregate() all the columns except the grouping column
?aggregate(.~z,data=dftest,FUN=mean)
# z x y
#1 0 7 1
#2 1 6 2
A.K.
----- Original Message -----
From: Blaser Nello <nblaser at ispm.unibe.ch>
To: arun <smartpink111 at yahoo.com>; jpm miao <miaojpm at gmail.com>
Cc: R help <r-help at r-project.org>
Sent: Thursday, May 23, 2013 3:29 AM
Subject: RE: [R] convert a character string to a name
If you want to use the character string:
attach(dftest)
aggregate(cbind(sapply(x_test, get))~z, data=dftest, FUN=mean)
# or
with(dftest,aggregate(cbind(sapply(x_test, get)),list(z),FUN=mean))
detach(dftest)
Cheers,
Nello
-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of arun
Sent: Donnerstag, 23. Mai 2013 09:19
To: jpm miao
Cc: R help
Subject: Re: [R] convert a character string to a name
?with(dftest,aggregate(cbind(x,y),list(z),FUN=mean))
#? Group.1 x y
#1?????? 0 7 1
#2?????? 1 6 2
#or
library(plyr)
ddply(dftest,.(z),numcolwise(mean))
#? z x y
#1 0 7 1
#2 1 6 2
A.K.
----- Original Message -----
From: jpm miao <miaojpm at gmail.com>
To: r-help <r-help at r-project.org>
Cc:
Sent: Thursday, May 23, 2013 3:05 AM
Subject: [R] convert a character string to a name
Hi,
?? From time to time I need to do the aggregation. To illustrate, I present a toy example as below. In this example, the task is to aggregate x and y by z with the function mean.
?? Could I call the aggregation function with x_test, where
?? x_test=c("x","y")? Thanks
Miao
dftest<-data.frame(x=1:12, y=(1:12)%%4, z=(1:12)%%2) dftest
? ? x y z 1?? 1 1 1 2?? 2 2 0 3?? 3 3 1 4?? 4 0 0 5?? 5 1 1 6?? 6 2 0 7?? 7 3 1 8?? 8 0 0 9?? 9 1 1 10 10 2 0 11 11 3 1 12 12 0 0
aggregate(cbind(x,y)~z, data=dftest, FUN=mean)
? z x y 1 0 7 1 2 1 6 2
x_test=c("x","y")
aggregate(cbind(x_test)~z, data=dftest, FUN=mean)
Error in model.frame.default(formula = cbind(x_test) ~ z, data = dftest) : ? variable lengths differ (found for 'z') a1aggregate(cbind(factor(x_test))~z, data=dftest, FUN=mean) Error in model.frame.default(formula = cbind(factor(x_test)) ~ z, data = dftest) : ? variable lengths differ (found for 'z')
aggregate(factor(x_test)~z, data=dftest, FUN=mean)
Error in model.frame.default(formula = factor(x_test) ~ z, data = dftest) : ? variable lengths differ (found for 'z') ??? [[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. ______________________________________________ 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.
An embedded and charset-unspecified text was scrubbed... Name: not available URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20130523/b01e4ca8/attachment.pl>