让我们介绍两个函数:
test_f <- function(df, var) {
print(df$var)
}
test_s <- function(df, var) {
print(df[, var])
}
df
本身:
df <- data.frame(c(0:10))
colnames(df) <- "X"
运行时我缺少的是$
版本返回NULL
,但[]
正确打印结果:
> test_f(df, "X")
NULL
> test_s(df, "X")
[1] 0 1 2 3 4 5 6 7 8 9 10
答案 0 :(得分:4)
使用[
方法有其优点,其中包括能够轻松指定所需的行和列(请注意在那里使用复数)并且能够为{{使用相同的语法1}}或data.frame
。
如果你想让你的功能发挥作用,你必须使用matrix
来帮助R找出你想要提取的内容。
以下是一个例子:
eval(parse(...))