2017-08-13 36 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

相關問題