R如何合并函数的参数

时间:2018-11-22 23:19:56

标签: r function

我需要组合一个函数的参数。第一个参数是data.frame,第二个参数是column.name。在函数内部,我想将它们组合起来,例如data.frame $ column.name,下面是一个愚蠢的例子来说明这一点:

table_function<-function(x,y){
    return(table(x$y))
}
table_function(mtcars,cyl)

有任何线索吗? 谢谢

2 个答案:

答案 0 :(得分:0)

以下代码无法确定这是否是您想要的

table_function<-function(x,y){
  return(table(x[y]))
}
table_function(mtcars,"cyl")

答案 1 :(得分:0)

谢谢您的回答。 说实话,在该示例中效果很好,但是R以不同的方式理解mtcars $ cyl和mtcars [“ cyl”]

head(mtcars$cyl)
[1] 6 6 4 6 8 6

head(mtcars["cyl"])
              cyl
Mazda RX4           6
Mazda RX4 Wag       6
Datsun 710          4
Hornet 4 Drive      6
Hornet Sportabout   8
Valiant             6

我的功能是这样的:

table_function<-function(x,y,z){
xxx<-tapply(rep(1, nrow(x)), list(x$y, x$z), sum, na.rm = T)
return(xxx)
}
table_function(mtcars,cyl,gear)

在您的解决方案中,我遇到以下错误: sort.list(y)中的错误:“ x。”对于“ sort.list”必须是原子的