大型索引的h2o数据帧索引中的逐个错误

时间:2017-05-12 14:24:33

标签: r h2o

当使用带有h2o数据帧的大型索引集时,我们遇到了一些奇怪的(破坏的)行为

以下代码不对iris_h2o进行任何更改:

library(h2o)
h2o.init()
data(iris)

iris<-rbind(iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris)
iris<-rbind(iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris)
iris<-rbind(iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris)

iris_h2o<-as.h2o(iris)

iris_h2o[c(1:1000),"Sepal.Length"]<-iris_h2o[c(1:1000),"Sepal.Length"]
iris_h2o

输出:

  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
6          5.4         3.9          1.7         0.4  setosa

但是,如果将索引的大小设置为1001,则突然看起来左右之间的索引变得不一致

library(h2o)
h2o.init()
data(iris)

iris<-rbind(iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris)
iris<-rbind(iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris)
iris<-rbind(iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris,iris)

iris_h2o<-as.h2o(iris)


iris_h2o[c(1:1001),"Sepal.Length"]<-iris_h2o[c(1:1001),"Sepal.Length"]
iris_h2o

输出:

  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          5.1         3.0          1.4         0.2  setosa
3          4.9         3.2          1.3         0.2  setosa
4          4.7         3.1          1.5         0.2  setosa
5          4.6         3.6          1.4         0.2  setosa
6          5.0         3.9          1.7         0.4  setosa

这在R 3.3.2上用h2o 3.10.0.8和R 3.4.0确认,最新版本的h2o可用于CRAN(3.10.4.6)

我们想知道是什么导致了这种情况以及如何避免将来出现此问题

0 个答案:

没有答案