R-使用函数打印数据框的值会带来NULL值

时间:2018-06-26 22:22:17

标签: r

我有一个名为result1的数据框,其中只有一列使用“ pneumonia”

outcome1 <- data.frame(Pneumonia = sample(0:1, size = 5, replace = TRUE))

我创建了一个名为best1的函数,该函数仅使用名为“ var_”的参数打印该列

best1 <- function(var_) {
  outcome1$var_
}

当我调用函数

 best1("Pneumonia")

我得到一个NULL值

但是当我使用时:

outcome1$Pneumonia

我得到了我需要的数据。我如何使用best1函数并使用列名作为参数来获得正确的结果,如果该列的名称中有空格(我知道您在这种情况下使用“''),该怎么办?在函数中使用它会是什么情况,谢谢您的帮助

1 个答案:

答案 0 :(得分:2)

有一种更好的方法来编写函数。

best1 <- function(var_) {
  outcome1[[var_]]
}

有关使用该运算符的有效输入,请参见?$。您的函数正在寻找变量名“ var_”,而不是绑定到该名称的字符串。