2016-04-20 73 views
0

我似乎有问题使用data.table中的列名具有某些字符,包括货币符号和数字字符?R data.table具有符号的长列名

是否有任何明智的方式与这些工作,例如通过参考引用这些列名?这里有一个例子:

e <- data.table(a = 1:5, b = 2:6, Revenues_(£000) = 3:7) 
e[,Tax_(£000) = a + Revenues_(£000),] 

提前

+0

请阅读[如何问一个好问题](http://stackoverflow.com/help/how-to-ask)以及如何给[可重现的示例]的信息(http://stackoverflow.com /问题/ 5963269 /如何对化妆一个伟大-R-重复性,例如/ 5963610)。这会让其他人更容易帮助你。 – Jaap

+0

请更新您的问题。不要在评论中提供更多信息。指定遇到的问题也很明智。 – Jaap

回答

4

非常感谢[更新基于新的范例]

反引号是你在找什么,我相信:

e <- data.table(a = 1:5, b = 2:6, `Revenues_(£000)` = 3:7) 

e[, .(`Tax_(£000)` = a + `Revenues_(£000)`)] 

或者,如果您想将总和作为新列添加到e,您正在寻找的是:

e[, `Tax_(£000)` := a + `Revenues_(£000)`] 
+0

不确定这真的是我要找的,谢谢你的尝试 - 我已经更新了一个额外的代码行,以尝试更清晰的问题 –

+0

已更新,以反映您的示例代码 –

+1

'e $ col < - ...'不是添加新列的有效方法,而是使用'e [,col:= ...]'运算符 – jangorecki