R 对于data.table中以数字开头的列,是否有解决方法?

R 对于data.table中以数字开头的列,是否有解决方法?,r,data.table,R,Data.table,我有这个数据表: example<-structure(list(`3M` = c(-0.38802, 1.20386, -22.14071), `CAR` = c(0.4537, 1.84032, -19.97575), CAB = c(0.44547,1.83358, -19.99101)), .Names = c("3M", "CAR","CAB"), class = c("data.table", "data.frame"), row.names = c(NA,-3L)) 这正是

我有这个数据表:

example<-structure(list(`3M` = c(-0.38802, 1.20386, -22.14071), `CAR` = c(0.4537, 1.84032, -19.97575), CAB = c(0.44547,1.83358, -19.99101)), .Names = c("3M", "CAR","CAB"), class = c("data.table", "data.frame"), row.names = c(NA,-3L))
这正是我所期望的

如果我这样做

example[,3M]
Error: unexpected symbol in "example[,3M"

这不是我想要的。除了重命名它或引用它并使用
WITH=FALSE

之外,还有什么方法可以解决这个问题吗?从您的最后一句话中,我假设您正在寻找一种替代方法来使用:

> example[,"3M"]
          3M
1:  -0.38802
2:   1.20386
3: -22.14071
在这种情况下,如果您想要一个向量作为输出,您应该能够使用backticks(这仍然有点拖沓,但有效):


从您的最后一句话中,我假设您正在寻找一种替代方法来使用:

> example[,"3M"]
          3M
1:  -0.38802
2:   1.20386
3: -22.14071
在这种情况下,如果您想要一个向量作为输出,您应该能够使用backticks(这仍然有点拖沓,但有效):


不,R中的变量不能以数字开头,请选择更好的名称<代码>名称(示例)@Frank这些名称来自一个数据库,共有1000个。如果我更改了它们的名称,那么显示最终结果将更加困难。不管怎样,阿南达建议使用反勾号将起作用。不,R中的变量不能以数字开头选择更好的名称<代码>名称(示例)@Frank这些名称来自一个数据库,共有1000个。如果我更改了它们的名称,那么显示最终结果将更加困难。不管怎么说,阿南达的建议是使用回帖,回帖会起作用的。我对第一个选项的主要反感是我不能在
J
中进行公式运算。我可以用backtick,这样它会工作得很好。如果您执行
example[,list(`3M`)]
您仍然可以获得data.table结果,那么我会更进一步。倒勾将起作用。我对第一个选项的主要反感是我不能在
J
中进行公式运算。我可以用backtick,这样它会工作得很好。如果您执行
example[,list(`3M`)]
仍然可以得到data.table结果,那么我就更进一步了。
> example[,`3M`]
[1]  -0.38802   1.20386 -22.14071