data.table:数字列名称

时间:2014-10-31 23:18:09

标签: r data.table

这里是data.table我正在使用:

> head(dataTable)
     persnr      1993      1994
1: 60487416 0.5777598        NA
2: 60487511        NA  5.245855
3: 60488034 0.5777598 23.100167
4: 60488147 0.5777598        NA
5: 60488240 0.5777598 23.100167
6: 60488338 0.5777598 23.100167

将列年数字化是非常有用的,因为我可以简单地遍历这些。但它有一个缺点:

dataTable[is.na(1993),]
Empty data.table (0 rows) of 3 cols: persnr,1993,1994

错误1993表示整数,而不是将其用作对象名称。否则,我无法解释它是如何产生满足这种条件的零行。当列名是数字时,如何检查NA值?

1 个答案:

答案 0 :(得分:0)

您可能希望将data.frame视为矩阵,并使用apply函数查找NA值:

  

应用(dataTable中,如图1所示,is.na)

这比迭代列更快。

如果您想查找具有任何NA值的行,您可以这样做:

  

应用(dataTable中,如图1所示,功能(X){任何(is.na(X))})