【发布时间】:2019-02-01 19:54:55
【问题描述】:
我想给我们一个 data.table 的特定值。列名和列数总是在变化,所以我不能使用:
df$column_5[2]
或者:
df[2,5]
为了获得我需要的价值。
我想做类似以下的事情:
x <- 5
df[2,x]
但我收到一条错误消息:
df[2,x]
[.data.table(df, 2, x) 中的错误: j([...] 内的第二个参数)是单个符号,但未找到列名“x”。也许您打算使用 DT[, ..x]。与 data.frame 的这种差异是经过深思熟虑的,并在 FAQ 1.1 中进行了解释。”
你有解决这个问题的办法吗?
【问题讨论】:
-
您使用的是
data.table(即不是数据框)!你想要一个 data.table 操作还是一个 dataframe 操作? -
试试
df[2, x, with = FALSE] -
@jogo 很抱歉使用了不正确的词。你对我的问题有解决方案吗?继续我的,我对 R 还是比较陌生。
-
@Mako212 谢谢!这正是我所需要的!
-
当您使用
data.table库时,它会改变括号对data.table类对象的行为方式。如果你想利用 R 的标准data.frame评估括号,你需要指定with = F
标签: r data.table