k表示4600万个元素强制NA值

时间:2014-11-16 00:02:13

标签: r

简单地运行

kmeans(runif(46e6), 2)

导致错误:

Error in do_one(nmeth) : NAs in foreign function call (arg 13)
In addition: Warning message:
In do_one(nmeth) : NAs introduced by coercion

任何想法?我已在下面附上我的会话信息。我只找到另一个提及此问题的帖子,没有回答:R kmeans NAs in foreign function call (arg 13) error。显然,输入数据是数字......

sessionInfo()
R version 3.1.0 (2014-04-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] zoo_1.7-11    rgdal_0.9-1   raster_2.3-12 sp_1.0-16    

loaded via a namespace (and not attached):
[1] grid_3.1.0      lattice_0.20-29 tools_3.1.0 
编辑:我以为这是一个记忆问题。我第一次尝试时使用的机器有8GB。我将R更新到日期3.1.2的最新版本,它也有同样的问题。

我在另外两台机器上尝试过这个:

  • 第二次尝试是在带有R 3.1.0和160GB内存的Windows机器上 - 同样的错误
  • 第三次尝试是使用R 2.15和63GM内存的另一台Windows机器 - 它成功了。

这可能是版本R.3.1更高的东西吗?如果其他人发现类似的结果会很奇怪。

谢谢

1 个答案:

答案 0 :(得分:3)

正如@gkcn上面正确提到的:这是R 3.0.2中引入的一个bug, 现在已经修复,即将推出的R 3.2.0将有修复。 另见https://stackoverflow.com/a/29311530/161921。 谢谢你,GökcenEraslan!