作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题在这里已经有了答案:
Dynamically select data frame columns using $ and a character value
(9 个回答)
去年关闭。
我有一个名为 df 的数据集,它有 a 列和 b 列,每个列有三个整数。我想为平均值编写一个函数(显然这已经存在;我想编写一个更大的函数,这似乎是发生问题的地方)。但是,此函数返回 NA:
mean_function <- function(x) {
mean(df$x)
}
mean_function(a)
返回
NA
, 而
mean(df$a)
返回
2
.关于 R 函数如何处理数据集或其他问题,我是否遗漏了什么?
最佳答案
我们需要[[
而不是 $
因为它会逐字检查 x
作为列并传递一个字符串
mean_function <- function(x) {mean(df[[x]])}
mean_function("a")
如果我们需要传递不带引号的列名,
substitute
并转换为
character
与
deparse
mean_function<- function(x) {
x <- deparse(substitute(x))
mean(df[[x]]
}
mean_function(a)
关于r - 如何将 R 函数指向数据集的特定列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62922758/
我是一名优秀的程序员,十分优秀!