我需要组合一个函数的参数。第一个参数是data.frame,第二个参数是column.name。在函数内部,我想将它们组合起来,例如data.frame $ column.name,下面是一个愚蠢的例子来说明这一点:
table_function<-function(x,y){
return(table(x$y))
}
table_function(mtcars,cyl)
有任何线索吗? 谢谢
答案 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”必须是原子的