首页 > 解决方案 > 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 函数并使用列名作为参数获得正确的结果,如果列名中有空格我知道在这种情况下您使用“``”会怎样,在函数中使用它会是什么情况,谢谢你的帮助

标签: r

解决方案


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

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

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


推荐阅读