如何在列标题为年标

时间:2017-05-10 10:18:11

标签: r data.table filtering

我有一个数据表,列标题为年,例如

  

头(gsdb_crossTab)

CONS_ID_URN     2010 2011 2012 2013 2014 2015 2016 2017
0TBX58            9   11   13   12   12   12   12    2
1                 2    4    1    0    0    0    0    0
1000000           0    0    1    0    1    0    0    0
1000007           1    0    0    0    1    1    0    0
1000009           0    0    0    0    1    0    0    0
1000010           0    1    1    0    1    0    0    1

class(gsdb_crossTab)
[1] "data.table" "data.frame"

如果我尝试删除列2010中的值为零的行 与

dummy=gsdb_crossTab["2010">0]

然后我仍然发现虚拟包含列2010中的行,其中行等于包含零。

但是:如果我使用

重命名列
setnames(gsdb_crossTab, "2010", "FRED")

然后执行过滤器

gsdb_crossTab <- gsdb_crossTab[FRED>0]

然后我得到了我期望的结果。

我的问题是:请有人建议一种方法来执行此操作 没有将列重命名为FRED,即使用列标签&#34; 2010&#34;?

谢谢,

菲尔,

1 个答案:

答案 0 :(得分:0)

使用返回引号(我不能将其放在评论中,因为它使用严重的重音)

dummy <- gsdb_crossTab[`2010` > 0]