我尝试在RStudio中使用emmeans包,我已经成功地做了很多次,但现在它给了我一个我无法解决的错误:
shannon_site_emm <- emmeans(shannon_site,factor(site))
t(OOrr)中的错误:未找到对象'unpackedMatrix_transpose'
具体地说,我正在重新运行一个以前使用过的脚本和一个更新的数据集,所以我知道emmeans包以前在这个项目中工作过,对我的数据集的更新的性质不够引人注目,它们应该是这里的问题。
以前有没有人遇到过这个错误,知道如何修复它?
我做了什么:
#fit a model:
shannon_site <- lmer(Shannon ~ site + (1|bird_name), data = alpha_metadata)
# inspected parameters:
summary(shannon_site)
Linear mixed model fit by REML. t-tests use Satterthwaite's method ['lmerModLmerTest']
Formula: Shannon ~ site + (1 | bird_name)
Data: alpha_metadata
REML criterion at convergence: 889.7
Scaled residuals:
Min 1Q Median 3Q Max
-2.4094 -0.6484 0.0143 0.5922 2.6900
Random effects:
Groups Name Variance Std.Dev.
bird_name (Intercept) 0.1652 0.4065
Residual 1.2518 1.1188
Number of obs: 281, groups: bird_name, 142
**Fixed effects:
Estimate Std. Error df t value Pr(>|t|)
(Intercept) 3.4142 0.8894 150.4461 3.839 0.000182 ***
siteFt Lauderdale -1.3439 1.0893 150.4461 -1.234 0.219234
siteJDSP 0.3794 0.9889 162.3981 0.384 0.701773
siteSFWC -1.3423 0.9080 152.7540 -1.478 0.141394
siteTTP -0.4431 0.8937 150.0042 -0.496 0.620771
---**
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Correlation of Fixed Effects:
(Intr) stFtLd stJDSP stSFWC
siteFtLdrdl -0.816
siteJDSP -0.899 0.734
siteSFWC -0.980 0.800 0.881
siteTTP -0.995 0.813 0.895 0.975
2条答案
按热度按时间efzxgjgh1#
您的问题或多或少与this GitHub问题重复。您的R进程加载的包命名空间缓存了一个泛型函数
base::t
的方法,该方法来自与您安装的Matrix版本不同的版本。缓存的方法“陈旧”,因为它在安装的Matrix版本下无法正常工作,在这种情况下,因为安装的Matrix版本没有定义符号unpackedMatrix_transpose
。解决方法是 * 从源代码 * 重新安装其命名空间缓存陈旧方法的包。更新后的缓存将与当前安装的Matrix版本完全兼容。
罪魁祸首包很可能是seq,因此:
为什么我怀疑他是个混蛋?对于
loadedNamespaces()
中的每个包p
,在asNamespace(p)
中查找一个名为.__T__t:base
的符号。如果它存在,则它是一个环境缓存base::t
的方法。对于每个这样的方法f
,测试environment(f)
是否是Matrix命名空间。如果是,然后打包p
缓存方法,用于Matrix导出的base::t
,因此 * 理想情况下 *,每当更新(或降级)Matrix时,您都可以从源代码重新安装它。这种分析对每个用户来说都是太高的期望。理想情况下,Matrix的作者应该设计一种机制来系统地检测缓存失效,然后在更新之前以某种方式发布这些信息。(它正在发生,慢慢地......)更理想的是,我们将研究在加载时将方法修补到缓存类和方法的效果。这将完全防止缓存失效,但我们(主要是我)根本没有找到时间。
j2qf4p5b2#
我以前在an issue report中见过这个问题。这不是emmeans中的问题。它可能是R版本和Matrix包支持之间的转换中的一些故障。我认为如果您重新安装一些包(也许是Matrix?)并重新启动R,问题就会消失。抱歉我不能更具体,但我确实有用户报告成功。