【发布时间】:2019-11-26 20:52:29
【问题描述】:
我运行 SolusOS 一个 Linux 发行版(4.0,R 3.6.1)和 Windows(Windows 10,R 3.5.2)。
我的代码:
library(datasets)
fit2 <- lm(Sepal.Length~Sepal.Width+Species, data=iris)
summary(fit2)
在 Windows 上:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 2.2513932 0.3697543 6.088890 9.568102e-09
Sepal.Width 0.8035609 0.1063390 7.556598 4.187340e-12
Speciesversicolor 1.4587431 0.1121079 13.011954 3.478232e-26
Speciesvirginica 1.9468166 0.1000150 19.465255 2.094475e-42
在 SolusOS Linux 上
Estimate Std. Error t value Pr(>|t|)
(Intercept) -1.1562296 2.5541337 -0.4526895 6.514443e-01
Sepal.Width -0.3158123 0.5572782 -0.5667049 5.717849e-01
Speciesversicolor 11.5719475 1.7693108 6.5403701 9.670731e-10
Speciesvirginica 11.6048354 1.7750914 6.5375987 9.810282e-10
AFAIK 在 Windows 上的结果是正确的。 查了资料,一模一样;如果 lm()-function 中的默认值发生更改,请检查文档,但未找到。 .Machine(如某处提到的)有一个区别: $sizeof.long = 8(Linux) vs. 4(Windows) - 我认为这无关紧要。 谷歌搜索了一个小时,但找不到与此相关的任何内容。
有什么想法吗?
编辑:我在两者上都使用 Rstudio,Linux 版本是 99.9.9(奇数;虽然软件中心提供 1.2.1335;Windows 1.2.5001)所以我在 R 终端中运行代码,结果仍然相同。
【问题讨论】:
-
你能验证他们都为
summary(iris)返回相同的结果吗? -
... 并确保
fit和fit2没有混淆 -
摘要(虹膜)是相同的。我使用传输到 Linux 的 Windows iris-data 以及 R 脚本进行了测试。其他一些数据(datasets::USarrests)在 Linux 上也给出了错误的结果。
-
当你在 linux 机器上启动 R 时,是否还有其他对象被加载;你能在 R 重启时运行
ls()吗 -
这一定是某种命名冲突。事实上,Windows 结果是正确的。你能绝对确定(1)你从一个新的R终端开始,(2)你的全局环境中没有变量/对象,例如正在加载
.Rprofile,并且 (3) 您不会恢复之前的 R 会话。
标签: r