R purrr::map/broom::tidy不打印GLM模型的概率值

R purrr::map/broom::tidy不打印GLM模型的概率值,r,glm,purrr,broom,R,Glm,Purrr,Broom,在R中运行对数线性GLMs时,我遇到了purrr::map和broom::tidy的问题。出于某种原因,运行多个模型时不会打印模型p值,而是使用单个模型打印。最后,我希望多个模型打印每个模型的p值,就像在单个模型中一样。提供的示例使用内置的“泰坦尼克号”数据集(请参阅William King的) 数据(泰坦尼克号) #转换为数据帧 T.df% dplyr::突变( fit=purrr::map(数据,~anova(glm(Freq~Sex*Survived,family=poisson,data

在R中运行对数线性GLMs时,我遇到了purrr::map和broom::tidy的问题。出于某种原因,运行多个模型时不会打印模型p值,而是使用单个模型打印。最后,我希望多个模型打印每个模型的p值,就像在单个模型中一样。提供的示例使用内置的“泰坦尼克号”数据集(请参阅William King的)

数据(泰坦尼克号)
#转换为数据帧
T.df%
dplyr::突变(
fit=purrr::map(数据,~anova(glm(Freq~Sex*Survived,family=poisson,data=.x)),test=“Chisq”),
整洁的=purrr::映射(适合,扫帚::整洁)
) %>%
tidyr::unnest(已整理)
在我思考这个问题时,如何阻止broom::tidy打印关于未识别列的警告消息


提前谢谢

问题在
anova
的替换参数中,
test=“Chisq”
被包装在
anova
调用之外,即

anova(glm(Freq ~ Sex * Survived, family = poisson, data = .x)), test="Chisq")
                                                           ^^^
使用正确的关闭参数执行

T.df %>%
  nest(-Class) %>%
  mutate(tidied = map(data, ~ 
     glm(Freq ~ Sex * Survived, family = poisson, data = .x) %>% 
     anova(., test = "Chisq") %>% 
     broom::tidy(.))) %>% 
  unnest(tidied)
# A tibble: 16 x 7
#   Class term            df Deviance Resid..Df Resid..Dev    p.value
#   <fct> <chr>        <int>    <dbl>     <int>      <dbl>      <dbl>
# 1 1st   NULL            NA    NA            7       590. NA        
# 2 1st   Sex              1     3.78         6       586.  5.20e-  2
# 3 1st   Survived         1    20.4          5       566.  6.28e-  6
# 4 1st   Sex:Survived     1   162.           4       404.  4.78e- 37
# 5 2nd   NULL            NA    NA            7       476. NA        
# 6 2nd   Sex              1    18.9          6       457.  1.37e-  5
# 7 2nd   Survived         1     8.47         5       449.  3.62e-  3
# 8 2nd   Sex:Survived     1   163.           4       286.  2.54e- 37
# 9 3rd   NULL            NA    NA            7       876. NA        
#10 3rd   Sex              1   145.           6       732.  2.54e- 33
#11 3rd   Survived         1   181.           5       550.  2.36e- 41
#12 3rd   Sex:Survived     1    57.8          4       493.  2.92e- 14
#13 Crew  NULL            NA    NA            7      2535. NA        
#14 Crew  Sex              1  1014.           6      1522.  2.02e-222
#15 Crew  Survived         1   252.           5      1269.  7.85e- 57
#16 Crew  Sex:Survived     1    42.4          4      1227.  7.63e- 11
T.df%>%
嵌套(-Class)%>%
突变(整理=映射(数据,~
glm(频率~性别*存活,家庭=泊松,数据=.x)%>%
方差分析(,test=“Chisq”)%>%
扫帚::整洁()%%>%
不干净(整洁)
#一个tibble:16x7
#类别术语df偏差剩余值..df剩余值..偏差p.值
#                                 
#1第一个空NA 7 590。NA
#第1性别13.786586。5.20e-2
#第1次存活120.456。6.28e-6
#4第一性别:存活1162人。4       404.  4.78e-37
#5第二空NA 7 476。NA
#第二性别118.96457。1.37e-5
#第2名幸存者18.475449。3.62e-3
#8第2性别:存活1163。4       286.  2.54e-37
#9第3空NA 7 876。NA
#第3性别1145。6       732.  2.54e-33
#第3名幸存者181名。5       550.  2.36e-41
#12第3性别:存活157.8493。2.92e-14
#13号机组空NA 7 2535。NA
#14船员性别1014。6      1522.  2.02e-222
#15名船员幸存1252人。5      1269.  7.85e-57
#16船员性别:幸存142.41227。7.63e-11

您看过小插曲了吗?可能有点过时了,因为他们鼓励从
do
转移,但应该仍然有效谢谢!一个简单的修复和更高效的代码。将模型输出管道化到anova调用非常有效。
T.df %>%
  nest(-Class) %>%
  mutate(tidied = map(data, ~ 
     glm(Freq ~ Sex * Survived, family = poisson, data = .x) %>% 
     anova(., test = "Chisq") %>% 
     broom::tidy(.))) %>% 
  unnest(tidied)
# A tibble: 16 x 7
#   Class term            df Deviance Resid..Df Resid..Dev    p.value
#   <fct> <chr>        <int>    <dbl>     <int>      <dbl>      <dbl>
# 1 1st   NULL            NA    NA            7       590. NA        
# 2 1st   Sex              1     3.78         6       586.  5.20e-  2
# 3 1st   Survived         1    20.4          5       566.  6.28e-  6
# 4 1st   Sex:Survived     1   162.           4       404.  4.78e- 37
# 5 2nd   NULL            NA    NA            7       476. NA        
# 6 2nd   Sex              1    18.9          6       457.  1.37e-  5
# 7 2nd   Survived         1     8.47         5       449.  3.62e-  3
# 8 2nd   Sex:Survived     1   163.           4       286.  2.54e- 37
# 9 3rd   NULL            NA    NA            7       876. NA        
#10 3rd   Sex              1   145.           6       732.  2.54e- 33
#11 3rd   Survived         1   181.           5       550.  2.36e- 41
#12 3rd   Sex:Survived     1    57.8          4       493.  2.92e- 14
#13 Crew  NULL            NA    NA            7      2535. NA        
#14 Crew  Sex              1  1014.           6      1522.  2.02e-222
#15 Crew  Survived         1   252.           5      1269.  7.85e- 57
#16 Crew  Sex:Survived     1    42.4          4      1227.  7.63e- 11