首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >lsmeans: eval中出错(predvars,data,env):找不到对象'location‘

lsmeans: eval中出错(predvars,data,env):找不到对象'location‘
EN

Stack Overflow用户
提问于 2018-12-21 00:23:38
回答 1查看 415关注 0票数 1

因此,我使用CLM对以下特定列运行了双向有序回归: gra、location、species,它起作用了:

代码语言:javascript
复制
gra.f <- clm(gra ~ location + species + location:species, data = gra)

现在,我尝试使用lsmeans函数运行配对:

代码语言:javascript
复制
pwise <- lsmeans(gra.f, 
                   pairwise ~ location + species, 
                   adjust="tukey")

我得到: eval(predvars,data,env)中的错误:找不到对象'location‘

我不确定我知道问题出在哪里

PS:如果我删除位置并尝试只执行物种,错误仍然是' location‘not found

EN

回答 1

Stack Overflow用户

发布于 2018-12-21 05:23:56

为了确定参考网格,lsmeans必须重建数据集(包括所有预测器值)。您报告的错误消息是由于无法这样做而导致的。我唯一能猜到的是,用于拟合模型的数据框不再位于工作区或搜索路径中。

如果恢复数据集或使其可见,lsmeans应该会再次工作。或者,将, data = gra添加到lsmeans()调用中。

更新1

事实证明,问题出现在处理此模型秩不足这一事实的代码中。具有讽刺意味的是,我认为它与序号包的NEWS文件中的以下条目有关:2014-11-12: - Reimplementation of formula, model.frame and design matrix processing motivated by a bug in model.matrix.clm and predict.clm reported by Russell Lenth 2014-11-07 when implementing lsmeans support for clm::ordinal.

我写了一些代码来解决这个问题,很明显,

  1. 我的变通方法直到前面提到的更新
  2. 才起作用。在过去的4年里,没有多少用户遇到秩不足的序数模型;或者至少我没有收到他们的消息。

我现在正在努力记住哪些代码行是我的变通方法,哪些代码行仍然需要……当我解决了这个问题后,我会把它推到的github存储库,这意味着,在一个月左右的时间里,就意味着将在CRAN上更新(它将是一个高于1.3.1的版本)。更新意味着将使 as意味着也能工作,因为现在它只是的前端。

更新2

它现在似乎被修复了:

代码语言:javascript
复制
> lsmeans(gra.f, 
+         pairwise ~ location + species, 
+         adjust="tukey")

$`lsmeans`
 location species  lsmean    SE  df asymp.LCL asymp.UCL
 B10      HD       nonEst    NA  NA        NA        NA
 B30      HD       nonEst    NA  NA        NA        NA
 B50      HD       nonEst    NA  NA        NA        NA
 B70      HD      -0.2802 0.191 Inf  -0.65519    0.0949
 Black Pt HD      -0.1298 0.325 Inf  -0.76730    0.5077
 Bolongo  HD       nonEst    NA  NA        NA        NA
      ... Several rows of output omitted ...
 SMA      TT       nonEst    NA  NA        NA        NA

Confidence level used: 0.95 

$contrasts
 contrast                  estimate    SE  df z.ratio p.value
      ... MANY rows of output omitted ...
 B70,HD - Magens,HD          nonEst    NA  NA      NA      NA
 B70,HD - SMA,HD             nonEst    NA  NA      NA      NA
 B70,HD - B10,HS           -0.71283 0.225 Inf  -3.162  0.4869
 B70,HD - B30,HS            0.07174 0.227 Inf   0.316  1.0000
 B70,HD - B50,HS           -0.74197 0.228 Inf  -3.253  0.4093
 B70,HD - B70,HS           -0.72863 0.226 Inf  -3.229  0.4291
 B70,HD - Black Pt,HS      -0.10537 0.220 Inf  -0.478  1.0000
 B70,HD - Bolongo,HS         nonEst    NA  NA      NA      NA
 B70,HD - Fortuna,HS       -0.64301 0.240 Inf  -2.684  0.8656
 B70,HD - Lindberg,HS      -0.10132 0.220 Inf  -0.460  1.0000
 B70,HD - Magens,HS         0.02351 0.226 Inf   0.104  1.0000
 B70,HD - SMA,HS           -0.05100 0.219 Inf  -0.232  1.0000
 B70,HD - B10,HW             nonEst    NA  NA      NA      NA
 B70,HD - B30,HW             nonEst    NA  NA      NA      NA
 B70,HD - B50,HW             nonEst    NA  NA      NA      NA
 B70,HD - B70,HW             nonEst    NA  NA      NA      NA
 B70,HD - Black Pt,HW        nonEst    NA  NA      NA      NA
 B70,HD - Bolongo,HW         nonEst    NA  NA      NA      NA
 [ reached getOption("max.print") -- omitted 1059 rows ]

P value adjustment: tukey method for comparing a family of 50 estimates

然而,您的问题才刚刚开始。由于缺少数据,您有大量不可估量的组合。祝你好运。

我会将更新后的版本推送到https://github.com/rvlenth/emmeans

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53872456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档