我创建了一个数据框架,并试图访问该数据框架中的列。代码如下所示
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
>
为什么摘要(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 - R查询'$'(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10546826/