2017-08-13 33 views
0
library(ggmosaic) 
library(tidyverse) 

我很努力地使用Tidyverse方法将数据集分成多个表格。我将使用下面的代码创建一个与我的实际数据结构相似的数据集。现在使用Tidyverse方法将数据集分成多个表格

happy2<-happy%>% 
select(sex,marital,degree,health)%>% 
group_by(sex,marital,degree,health)%>% 
summarise(Count=n()) 

,使用happy2数据集,我想用“度”的数据拆分,和程度的每个类别中,将有两个表,一个男性和一个女性的基础上, “性”变量。每个表格都有“婚姻”和“计数”作为列,“健康”作为行。

我希望找到一个优雅的方式来创建这些表使用Tidyverse方法,如tidyr :: nest,purrr或split。

回答

0

这似乎是分裂的一个相当简单的应用:

# For a flat list 
happy2 %>% 
    split(list(.$degree, .$sex)) 

# For a nested list 
happy2 %>% 
    split(.$degree) %>% 
    lapply(function(x) split(x, x$sex)) 

两种方法都是有效的,其语法是相当干净,易于理解;我不确定为什么需要一个完美的等价物。

+0

我可能一直在问这个问题太多。我现在看到如何使用split来实现第一部分,但是一旦我有了列表,下一部分就是重塑表格。作为第二部分,我创建了另一个问题:“将数据集分解为嵌套的数据框列表,然后使用Tidyr和Purrr进行传播”。这就是为什么我认为Tidyverse方法对于使用Tidyr传播表格非常有用,特别是purrr。 – Mike

相关问题