我正在尝试使用 tidyverse 代码获取多列的交叉表。
样本数据:
df <- data.frame(col1=c("a", "b", "c", "c"), col2=c(NA, "d", "d","e")) %>%
mutate_all(as.character)
df
col1 col2
1 a <NA>
2 b d
3 c d
4 c e
使用 apply,我会执行以下操作:
apply(df, 2, function(x) data.frame(table(x)))
我试过下面的代码不起作用:
df %>%
map_df(function(.x) {
group_by(.x) %>% summarise(n=n()) %>% print()
})