r - R查询'$'()

扫码查看

我创建了一个数据框架,并试图访问该数据框架中的列。代码如下所示

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/

10-12 17:24
查看更多