在windows和linux中使用R的不同结果

在windows和linux中使用R的不同结果,r,linux,ubuntu-12.04,k-means,R,Linux,Ubuntu 12.04,K Means,我在ubuntu系统中使用kmeans时遇到问题。我似乎得到了不同的结果! 我的数据是: x<- c(0.1295..,-0.58928,-0.244252,-0.41614,-0.58804,-0.74628,-0.9045188,-1.050903,-1.197288,-1.3353877,-1.47348656,-1.607894) windows和linux的功能之间似乎有一些变化。有人能帮我弄清楚吗 k-means算法通常是不确定的,也就是说,它通常不会产生完全可重复的结果。主

我在ubuntu系统中使用kmeans时遇到问题。我似乎得到了不同的结果! 我的数据是:

x<- c(0.1295..,-0.58928,-0.244252,-0.41614,-0.58804,-0.74628,-0.9045188,-1.050903,-1.197288,-1.3353877,-1.47348656,-1.607894)

windows和linux的功能之间似乎有一些变化。有人能帮我弄清楚吗

k-means算法通常是不确定的,也就是说,它通常不会产生完全可重复的结果。主要原因是在常用的算法中

如?kmeans中所述

通常建议尝试多次随机启动(nstart>1)


kmeans以随机质心开始,您是否尝试过将
set.seed(123)
添加到两个脚本的开头?感谢sebastian,这确实起到了作用。我认为这就是使用RStudio的优势!我在windows的Rstudio中运行代码,我想它是自动运行的,我必须在ubuntu中手动设置.seed(123)。谢谢RHertel,这也很有效,正如@sebastian-c所建议的,set.seed(123)也很有效。现在,我必须尝试使用rollapply运行此程序,并查看是否得到与windows中使用RStudio时相同的结果。我很高兴您的问题得到了回答,我可以对此做出贡献。我只想补充一点,通过使用
set.seed()
,您可以在不同的机器上获得相同的结果,但这并不意味着相同的结果比使用不同的伪随机种子或不指定任何种子获得的结果更好。我理解您在这里提出的观点。我试图复制我在第一台机器上得到的结果,因为它们是经过测试的结果,我正在重写linux上的代码,以便能够在服务器上发布和运行。但我一定会记住这一点。再次感谢!
means <- max(kmeans(x, 3)$centers)
means
[1] -0.05892
means <- max(kmeans(x,3)$centers)
means
[1] -0.1482334
means <- kmeans(x, 3)
means$centers
NULL
means


Available components:
[1] "cluster" "centers" "tots" "withinss" "tot.withinss"
[6] "betweenss" "size" "iter" "ifault"