Не работает ли функция перехвата emmeans (R)?

Я заметил, что emmeans (в R) не работает для оценки только для перехвата после последнего обновления.

Воспроизводимый пример:

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

Вывод на двух моих машинах (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)

Большое спасибо за помощь заранее.


person Brendan Alexander    schedule 01.06.2020    source источник
comment
У меня работает нормально emmeans::emmeans(test,~1)# 1 emmean SE df lower.CL upper.CL overall 20.1 1.07 31 17.9 22.3   -  person akrun    schedule 02.06.2020
comment
Не могли бы вы проверить, есть ли у вас та же версия «emmeans», что и у меня?   -  person akrun    schedule 02.06.2020
comment
Спасибо за проверку его. У меня 1.4.7, вернусь на 1.4.6 и попробую.   -  person Brendan Alexander    schedule 02.06.2020


Ответы (2)


Он отлично работает с emmeans - 1.4.6 на macOS Catalina 10.15.4 и R 4.0

emmeans::emmeans(test,~1)
# 1       emmean   SE df lower.CL upper.CL
# overall   20.1 1.07 31     17.9     22.3

#Confidence level used: 0.95 
person akrun    schedule 01.06.2020
comment
Переход с версии 1.4.7 на 1.4.6 решил проблему. Я бы проголосовал за этот ответ, если бы мог. Я посмотрю, смогу ли я оставить комментарий на странице emmeans github. Спасибо большое! - person Brendan Alexander; 02.06.2020

Оказывается, исправление для проблемы #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

Создана 1 июня 2020 г. в пакете reprex (v0.3.0)

Пользователи, которым это нужно сейчас, могут установить с github через

remotes::install_github("rvlenth/emmeans")
person Russ Lenth    schedule 02.06.2020