R 4600万元素上的kmeans强制NA值

R 4600万元素上的kmeans强制NA值,r,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 有什么想法吗?我已在下面附上我的会话信息。我只找到了另外一个提到这一点的帖子,没有答案:。很明显,输入数据是数字的 sessionInfo() R v

简单运行

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
有什么想法吗?我已在下面附上我的会话信息。我只找到了另外一个提到这一点的帖子,没有答案:。很明显,输入数据是数字的

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更新为date 3.1.2的最新版本,它也有同样的问题

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

  • 第二次尝试是在具有R3.1.0和160GB ram的windows计算机上进行的——同样的错误
  • 第三次尝试是在另一台装有R2.15和63GM内存的windows机器上进行的——成功了
这可能是R.3.1版本更高的版本吗?如果其他人发现类似的结果,我会感到好奇


谢谢你,

正如@gkcn在上面正确提到的那样:这是R3.0.2中引入的一个bug, 现在已经修复,即将发布的R3.2.0也将修复。 另见。
谢谢你,哥肯·伊拉斯兰

在46e6上尝试
kmeans
时,我得到了与您完全相同的错误(我的系统类似)。当仅使用23e6时,其操作性能良好。我想知道这是否也可能与X64 windows机器上的浮点问题有关(例如,请参阅《有趣的》中的Martin的答案..在以前的R版本(如2.15.3)上尝试相同的命令--它对我有效。我想这可能也是新R版本特有的问题。这是R 3.0.2中引入的错误。请检查此处()现在你可以使用其他的k-均值算法,比如劳埃德算法或麦奎因算法,这些都可以。