【发布时间】:2021-10-06 15:44:34
【问题描述】:
我想写的函数
f <- function(x, variable.name, n) {
order <- x[order(x$variable.name, decreasing = TRUE), ]
head(order, n = n)
}
应该从数据集 x 返回 variable.name 的最大 n 个值。但是在运行函数时:
f(x=iris, variable.name="Sepal.Length", n = 5)
R 返回以下错误信息:
Error in order(df$var.name, decreasing = TRUE) :
argument 1 is not a vector
有人可以帮助我了解该功能有什么问题吗?当不在函数内部时,函数的输入按预期工作。
【问题讨论】:
-
你不能对变量使用
$子集(R怎么知道你指的是文字名称还是变量?);你需要使用例如x[[variable.name]]代替。