R中的函数调用出错

R中的函数调用出错,r,R,我已经编写了一个函数来获取两个向量,比如x和y,我将返回另一个带值的向量: 总和(x)、总和(y)和总和(x)/总和(y) 我写的代码是: > anotherFunction<-function(x,y){ + return (c(sum(x),sum(y),(sum(x)/sum(y)))) + } >另一个函数出于评论中提到的原因,我不确定使用summaryBy是否可行,但使用建议的plyr非常简单: library(plyr) anotherFunction<-fun

我已经编写了一个函数来获取两个向量,比如x和y,我将返回另一个带值的向量: 总和(x)、总和(y)和总和(x)/总和(y)

我写的代码是:

> anotherFunction<-function(x,y){
+ return (c(sum(x),sum(y),(sum(x)/sum(y))))
+ }

>另一个函数出于评论中提到的原因,我不确定使用
summaryBy
是否可行,但使用建议的
plyr
非常简单:

library(plyr)

anotherFunction<-function(x, y){
    return (c(sum.x = sum(x),
              sum.y = sum(y),
              ratio = (sum(x)/sum(y))))
}
## test data
testdata <- data.frame( Age = sample(18:30, 15, replace=TRUE),
                  Clicks = sample(10:100, 15, replace = TRUE),
                  Impressions = sample(10:100, 15, replace = TRUE))
testdata$age.groups <- as.numeric(cut(dat$Age, breaks = 3))

mySummary <- ddply(testdata, .(age.groups), .fun = function(x) {
    anotherFunction(x$Clicks, x$Impressions) })

一般来说,
FUN
应该只是函数的名称。但不管怎样,我认为一个有两个参数的函数不会像你想象的那样工作。@noah:是的。多比号的summaryBypackage@joran:我是R的新手,所以我写的代码很可能不是推荐的格式。我想在RI中编程时,我必须改变思考和理解代码的方式。我不太使用doBy,但我相信,
summaryBy
旨在为公式左侧的每个变量生成摘要,并按公式右侧的变量分组。您可能会发现plyr中的
ddply
更加直观。
> mySummary
  age.groups sum.x sum.y     ratio
1          1   326   350 0.9314286
2          2   130   202 0.6435644
3          3   293   416 0.7043269