r - R - 使用函数打印数据帧的值带来 NULL 值
问题描述
我有一个名为 output1 的数据框,其中只有一个名为“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 函数并使用列名作为参数获得正确的结果,如果列名中有空格我知道在这种情况下您使用“``”会怎样,在函数中使用它会是什么情况,谢谢你的帮助
解决方案
有一种更好的方法来编写你的函数。
best1 <- function(var_) {
outcome1[[var_]]
}
有关?$
使用该运算符的有效输入,请参阅。您的函数正在查找变量名称“var_”,而不是绑定到该名称的字符串。