2017-08-13 5 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データセットを使用して、私は「度」でデータを分割したい、と度の各カテゴリ内、に基づいて、二つのテーブル、男性用と女性のための1つが存在します"sex"変数。各テーブルは、列として「結婚」と「カウント」、行として「健康」を持ちます。

私は、tidyr :: nest、purrr、またはsplitなどのTidyverseメソッドを使用してこれらのテーブルを作成するための洗練された方法を見つけたいと考えています。

答えて

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をどのように使うことができるかを見ていますが、リストを取得すると、次の部分がテーブルを再形成しています。もう1つの質問は、「データセットをネストされたデータフレームのリストに分割してから、TidyrとPurrrを使用して分割する」という2番目の質問として作成されました。これが、私がTidyrを使ってテーブルを広げるために、Tidyverseメソッドが最も有用であると考えている理由です。特に、purrrです。 – Mike

関連する問題