【问题标题】:lme: "Error in solve.default(estimates[dimE[1] - (p:1), dimE[2] - (p:1), drop = FALSE])"lme:“solve.default 中的错误(估计 [dimE[1] - (p:1), dimE[2] - (p:1), drop = FALSE])”
【发布时间】:2017-07-19 14:27:15
【问题描述】:

当我适合以下模型时

fullmod <-lme(rrF~Old_N_dep+Overstory_old+Altitude+MAT+MAP+EIV_R+EIV_F+Overstory_diff+SCA_old+SCA_diff,data = regdataOver,random = ~ 1|PlotNR, method = "REML")

我收到此错误:

Error in na.fail.default(list(rrF = c(-0.0380393284017694, -0.0110047996186618,  : 
  missing values in object

它应该类似于我看到的here,因为我在“rrF”中也没有真正的缺失值。我尝试按照建议在模型函数中添加na.action=na.exclude 来解决它,但我得到另一个错误:

> fullmod <-  lme(rrF ~ Old_N_dep+Overstory_old+Altitude+MAT+MAP+EIV_R+EIV_F+Overstory_diff+SCA_old+SCA_diff, data = regdataOver,random = ~ 1|PlotNR, method = "REML", na.action=na.exclude)
Error in solve.default(estimates[dimE[1] - (p:1), dimE[2] - (p:1), drop = FALSE]) : 
  system is computationally singular: reciprocal condition number = 8.17376e-17

我真的不知道我的数据有什么问题。

相关矩阵(Spearman)(更新):

               Altitude Initial_survey   MAT   MAP Old_N_dep EIV_R EIV_N EIV_F Overstory_old Overstory_diff SCA_old SCA_diff
Altitude              1                                                                                                     
Initial_survey     0.35              1                                                                                      
MAT               -0.42          -0.13     1                                                                                
MAP                0.55           0.27 -0.23     1                                                                          
Old_N_dep          0.35           0.97 -0.04  0.36         1                                                                
EIV_R              0.21           0.13  -0.4   0.2      0.13     1                                                          
EIV_N              0.07           0.09 -0.34  0.24      0.09   0.7     1                                                    
EIV_F             -0.12          -0.01 -0.06 -0.03     -0.01  0.19  0.49     1                                              
Overstory_old     -0.08          -0.07 -0.08  0.19     -0.02  0.31  0.37  0.12             1                                
Overstory_diff     0.19           0.06 -0.02  0.17      0.06  0.01  0.05  0.03         -0.54              1                 
SCA_old            0.39           0.12  -0.5  0.23      0.09  0.36  0.24 -0.01          0.08           0.14       1         
SCA_diff          -0.13          -0.07  0.09 -0.01     -0.07 -0.12  0.01  0.02             0           0.07   -0.43        1

【问题讨论】:

    标签: r missing-data error-code nlme


    【解决方案1】:

    首先检查您的一个变量是否与另一个变量密切相关。做这个类型

    cor(regdataOver)
    

    如果有 2 个变量的相关系数接近 1 或 -1,那么您的情况是一个变量可以通过另一只蚂蚁线性表达,您无法反转您的矩阵(回归矩阵)。

    【讨论】:

    • 感谢 Eligijus,但我之前已经检查过了。我已经从模型中排除了两个变量,这些变量显示出与其他两个变量的高斯皮尔曼相关值。
    • 能否给出summary(regdataOver)的输出?
    • 此外,我可以看到有变量 SCA_DIFF 和 SCA_OLD 可能是线性组合。尝试排除其中之一
    • 在正文中更新。从模型中排除“SCA_old”和“Overstory_old”无论如何都会给我同样的错误。
    猜你喜欢
    • 1970-01-01
    • 2018-08-18
    • 2021-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-14
    • 2022-07-23
    • 2022-07-28
    相关资源
    最近更新 更多