在R中,为什么is.na会导致data.table将data.table显示为输出?版本1.9.4

时间:2015-06-14 02:50:45

标签: r data.table

data.table包(非常有用)仍会在以下场景中打印data.table输出。这是一个已知的问题?当使用is.na时似乎会发生。

Earlier Posting for Reference

di <- data.table(iris)
di[is.na(Sepal.Length),Color := "Blue"]
packageVersion("data.table")

 Sepal.Length Sepal.Width Petal.Length Petal.Width   Species
  1:          5.1         3.5          1.4         0.2    setosa
  2:          4.9         3.0          1.4         0.2    setosa
  3:          4.7         3.2          1.3         0.2    setosa
  4:          4.6         3.1          1.5         0.2    setosa
  5:          5.0         3.6          1.4         0.2    setosa
 ---                                                            
146:          6.7         3.0          5.2         2.3 virginica
147:          6.3         2.5          5.0         1.9 virginica
148:          6.5         3.0          5.2         2.0 virginica
149:          6.2         3.4          5.4         2.3 virginica
150:          5.9         3.0          5.1         1.8 virginica
> packageVersion("data.table")
[1] ‘1.9.4’

2015年6月14日编辑: 谢谢你的回复。事实上似乎问题是没有记录符合标准,而我的例子只是一般问题的一个例子。要确认,此行还会导致data.table显示:

 di[Sepal.Length > 100,Color := "Blue"]

顺便说一下,即使列已经存在,如果没有找到记录,data.table仍会显示。如此:

d2 <- data.table(iris)
d2[,Clr := NA]
d2[Sepal.Length > 100, Clr := "Blue"]

听起来当局已经意识到了这一点,并将其解决了。在此期间,我可以解决这个问题。

0 个答案:

没有答案