library(ggmosaic)
library(tidyverse)
我正在努力使用Tidyverse方法将数据集拆分成多个表。我将使用下面的代码创建一个数据集,其结构与我的实际数据有些相似。
happy2<-happy%>%
select(sex,marital,degree,health)%>%
group_by(sex,marital,degree,health)%>%
summarise(Count=n())
现在,使用happy2数据集,我想按“度”分割数据,并且在每个学位类别中,将有两个表,一个用于男性,一个用于女性,基于“性别”变量。每个表都有“marital”和“Count”作为列,“health”作为行。
我希望找到一种使用Tidyverse方法创建这些表的优雅方法,例如tidyr :: nest,purrr或split。
答案 0 :(得分:0)
这似乎是一个相当直接的分裂应用:
# For a flat list
happy2 %>%
split(list(.$degree, .$sex))
# For a nested list
happy2 %>%
split(.$degree) %>%
lapply(function(x) split(x, x$sex))
这两种方法都很有效,语法相当简洁,易于理解;我不确定为什么需要一个整齐的等价物。