emmeans(R)仅拦截功能是否已损坏?

时间:2020-06-01 22:20:37

标签: r emmeans

我注意到最近更新后,R中的emmeans不能用于仅截距的估计。

可复制的示例:

test=lm(mpg~1,mtcars)
library(emmeans)
emmeans::emmeans(test,~1)

我的2台计算机(Windows和Linux)上的输出是:

> emmeans::emmeans(test,~1)
Error in `[[<-.data.frame`(`*tmp*`, ".wgt.", value = 2) : 
  replacement has 1 row, data has 0

这是一个已知问题,还是我弄乱了我的系统? 我相信这曾经奏效。

如果您包含一个变量,它会起作用

test2=lm(mpg~as.factor(cyl),mtcars)
emmeans(test2,~cyl)

非常感谢您的提前帮助。

2 个答案:

答案 0 :(得分:1)

事实证明,针对问题#197的修复程序(并包含在CRAN版本1.47中)创建了我们在此处看到的问题(#206)。我想我现在都解决了这两个问题:

require(emmeans)
## Loading required package: emmeans

#206...
warp.lm <- lm(breaks ~ wool * tension, data = warpbreaks)

emmeans(warp.lm, "1")
##  1       emmean   SE df lower.CL upper.CL
##  overall   28.1 1.49 48     25.2     31.1
## 
## Results are averaged over the levels of: wool, tension 
## Confidence level used: 0.95

emmeans(warp.lm, "1", by = "wool")
## wool = A:
##  1       emmean   SE df lower.CL upper.CL
##  overall   31.0 2.11 48     26.8     35.3
## 
## wool = B:
##  1       emmean   SE df lower.CL upper.CL
##  overall   25.3 2.11 48     21.0     29.5
## 
## Results are averaged over the levels of: tension 
## Confidence level used: 0.95


#197...
model <- lm(Sepal.Length ~ poly(Petal.Length,2), data = iris)

emtrends(model, ~ 1, "Petal.Length", max.degree = 2)
## degree = linear:
##  1       Petal.Length.trend     SE  df lower.CL upper.CL
##  overall             0.4474 0.0180 147   0.4119    0.483
## 
## degree = quadratic:
##  1       Petal.Length.trend     SE  df lower.CL upper.CL
##  overall             0.0815 0.0132 147   0.0554    0.108
## 
## Confidence level used: 0.95

reprex package(v0.3.0)于2020-06-01创建

现在需要此功能的用户可以通过

从github安装
remotes::install_github("rvlenth/emmeans")

答案 1 :(得分:0)

client.start_instances(InstanceIds=StoppedInstances) emmeans - 1.4.6上使用macOS Catalina 10.15.4可以正常工作

R 4.0