列表列中矩阵响应的二项式glm的建模器add_residuals

时间:2018-12-17 00:48:09

标签: r dplyr broom unnest modelr

我正在尝试让modelr::add_residuals对嵌套在列表列中的数据帧起作用。当我尝试unnest()时,我收到“错误信息bind_rows”消息。

输入模型是具有矩阵响应的生物模型,这似乎是问题的一部分。

这是一个例子:

library(tidyverse)
library(modelr)
library(doBy)
data(budworm)

fitter <- function(df, ...){
  # fit binomial glm to matrix response
  res <- glm(cbind(ndead, ntotal) ~ log(dose), data = df, family = binomial)
  return(res)
}

# create nested data frames
bg <- budworm %>% 
  group_by(sex) %>% 
  nest()

bg %>% 
  mutate(fits = map(data, fitter),
         res = map2(data, fits, add_residuals))  %>% 
  unnest(res)

unnest()中的错误是:

  

bind_rows_(x,.id)中的错误:参数4的长度必须为6,而不是12

我注意到add_predictions()没有这个问题。

我想知道问题是否与使用矩阵作为glm的响应有关(如在蠕虫示例中的化验类型应用中很常见)。我发现的唯一类似的问题是扫帚包装here。但是,这似乎也与unnest有关,因为add_residuals()在未存储在列表列中的数据帧上可以正常工作。

0 个答案:

没有答案