我有一个数据表,列标题为年,例如
头(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;?
谢谢,
菲尔,
答案 0 :(得分:0)
使用返回引号(我不能将其放在评论中,因为它使用严重的重音)
dummy <- gsdb_crossTab[`2010` > 0]