【发布时间】:2013-03-16 06:03:01
【问题描述】:
如果data.table中的列名是number + character的形式,例如:4PCS、5Y等,这怎么能在x[i,j]中引用为j,以便解释作为不带引号的列名。
我认为这将解决我原来的问题。我想在“data.table”中添加几列,格式为number + character。
M <- data.table('4PCS'=1:4,'5Y'=4:1,X5Y=2:5)
> M[,4PCS+5Y]
Error: unexpected symbol in "M[,4PCS"
新列应该是4PSC 和5Y 的总和。
有没有办法以不带引号的形式在data.table 中引用它们?如果这些列在data.table 中被引用,并且引用了data.frame 的“逻辑”:
> M[,'5Y',with=FALSE]
5Y
[1,] 4
[2,] 3
[3,] 2
[4,] 1
那么此类参考的功能将受到限制。添加不起作用,因为它在 data.frame 中不起作用:
> M[,'4PCS'+'5Y',with=FALSE]
Error in "4PCS" + "5Y" : non-numeric argument to binary operator
data.table 功能将允许对列进行操作。我想在新的data.table 逻辑中找到一个解决方案,因此我可以利用它通过列名引用来转换列的能力。
问题是:
如何引用以数字开头的列名,以便 data.table 逻辑理解它是一个列名。
【问题讨论】:
-
感谢您的建议
标签: r data.table