-
Notifications
You must be signed in to change notification settings - Fork 144
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error on Mac arm64 but not Mac emulating x86_64 #727
Comments
Some other differences worth noting. (These are visible if you compare the arm64 result vs x86_64 result pages above.) When running this: model <- lmer(y ~ a + b + c + (1 | d/e), data = df) The x86_64 emits the following warning, but arm64 does not:
The
The value is 0.000119 (arm) vs 0.0001397, which is obviously a very small difference, but I find it surprising that it is different at all. |
I've done a fairly thorough exploration of this here. The very short/tl;dr version is that this appears to be a fit that is numerically fairly unstable (can't say for sure why), that it is not at all surprising that such fits would give different answers across different platforms (CPUs, emulation types, compilers, etc.). The other piece is that you can almost certainly work around this problem by setting a higher value of the optional argument |
Thanks for looking into this. I wasn't aware that there would be differences in numerical results across platforms, but now that I know that, it makes sense that some of these differences could matter for these analyses. You probably know this, but that .Rmd doesn't build on arm64, because of the expected errors. |
Let me preface this by saying that I'm helping somebody track down a problem and I personally don't know much about the stats involved.
I am using
lmerTest
to run an analysis. (I'm filing the issue here instead of on the lmerTest repository because that package doesn't contain any compiled code so I think the issue is with lme4 or possibly a package that lme4 depends on.)On an ARM Mac, I get slightly different results when running R in native arm64 mode vs. emulated x86_64 mode. And additionally, I get an error in arm64 mode, but not emulated x86_64.
The versions of R and all packages are the same on both.
I've put data and code for reproducing the problem in this repository, along with HTML files generated by processing the .Rmd file with the code: https://github.com/wch/lme4_error_example
The code is in this Rmd file.
The output HTML files can viewed live with the links below:
Here's a short version of the code:
On arm64, the
confint(model)
call results in an error:On emulated x86_64, it prints out several warnings, and then a table:
Any ideas why this is happening?
The text was updated successfully, but these errors were encountered: