我创建了一个数据框并试图访问数据框中的列。代码如下图
df <- data.frame(n = c('A','B','C'),
mark_1 = c(23,25, 17),
mark_2 = c(45,46,50))
j <- paste('mark',1,sep="_")
j
f <- '$'(df,j)
summary(f)
n <- '$'(df,"mark_1")
summary(n)
当我运行这段代码时,这就是我得到的结果
> j <- paste('mark',1,sep="_")
> j
[1] "mark_1"
> f <- '$'(df,j)
> summary(f)
Length Class Mode
0 NULL NULL
> n <- '$'(df,"mark_1")
> summary(n)
Min. 1st Qu. Median Mean 3rd Qu. Max.
17.00 20.00 23.00 21.67 24.00 25.00
>
为什么 summary(f) 不起作用? j 正确连接到“mark_1”。那为什么会报错呢?
提前致谢
最佳答案
@TylerRinker 向您展示了该怎么做。
...但是您不能使用 '$'(df,j)
的原因是美元运算符按字面意思使用第二个参数。
...所以 '$'(df,mark_1)
可以正常工作。但是您根本无法将变量传递给它。这就是 [
和 [[
的作用:
df[,j] # The j'th column
df[[j]] # Pretend df is a list of columns and get the j'th element
关于R 查询 '$' (),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10546826/