Я бы хотел получить выходные матрицы хи-квадрат (например, стандартизированные остатки, ожидаемые значения) по группам, используя элементы тидиверса.Используя набор данных mtcars, вот где я начал:
mtcars %>%
dplyr::select(vs, am) %>%
table() %>%
chisq.test(.)
, который выдает статистику теста хи-квадрат.Например, чтобы получить стандартизированные невязки, мой единственный успешный код такой:
mtcars %>%
dplyr::select(vs, am) %>%
table() %>%
chisq.test(.) -> chi.out
chi.out$stdres
vs am Freq
1 0 0 0.9523038
2 1 0 -0.9523038
3 0 1 -0.9523038
4 1 1 0.9523038
В идеале я хотел бы получить наблюдаемые значения и стандартизированные невязки в формате кадра данных.Примерно так:
cbind(as.data.frame(chi.out$observed),as.data.frame(chi.out$stdres))
vs am Freq vs am Freq
1 0 0 12 0 0 0.9523038
2 1 0 7 1 0 -0.9523038
3 0 1 6 0 1 -0.9523038
4 1 1 7 1 1 0.9523038
Наконец, я хотел бы сделать это по группам, например, по столбцу cyl в наборе данных mtcars.Кажется, что dplyr и какая-то версия карты мурлыкания с map_dfr или map_dfc добьются цели, но я не могу собрать их вместе.Заранее спасибо.