2016-05-03 15 views
0

ユーザのID値を持つデータセットから始めました。 ID: 77, 77, 77, 86, 86, 86, 86, 45, 45, ...left_joinグループ化されたデータセットdplyr

私はgroup_by(ID)だったので、テーブル内にID値が1つしかないようにしました(このプロセスでは別の数値変数も平均していました)。私が終わったのは、IDとAvgValue、そして元のデータセットを持つこの新しいデータセットでした。今私は、これらの2つのデータセットを結合して、AvgValueを1つの列にし、テーブル内の任意の場所に1つのIDしか持たないようにしたいと考えています。

Ex。

Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 1440 obs. of 5 variables: 
$ Id      : int 77 77 77 77 77 77 77 77 77 77 ... 
$ Group     : Factor w/ 6 levels " ","A","AA","C",..: 4 4 4 4 4 4 4 4 4 4 ... 
$ Sex     : Factor w/ 2 levels "F","M": 1 1 1 1 1 1 1 1 1 1 ... 
$ Age     : Factor w/ 49 levels "11y 10m 22d",..: 43 43 43 43 43 43 43 43 43 43 ... 
$ Value     : num 79.2 82.9 83 83.6 84.2 ... 

今Iを得るgroup_by(ID)

Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 51 obs. of 2 variables: 
$ Id: int 77 83 84 85 86 87 88 89 90 91 ... 
$ AvgValue  : num 90.1 95.4 94.9 96.4 77.4 ... 

I left_join、代わりに、単に各ID値のための一つの行を有する

Classes ‘tbl_df’, ‘tbl’ and 'data.frame': 1440 obs. of 6 variables: 
    $ Id      : int 77 77 77 77 77 77 77 77 77 77 ... 
    $ AvgValue    : num 90.1 90.1 90.1 90.1 90.1 ... 
    $ Group     : Factor w/ 6 levels " ","A","AA","C",..: 4 4 4 4 4 4 4 4 4 4 ... 
    $ Sex     : Factor w/ 2 levels "F","M": 1 1 1 1 1 1 1 1 1 1 ... 
    $ Age     : Factor w/ 49 levels "11y 10m 22d",..: 43 43 43 43 43 43 43 43 43 43 ... 
    $ Value     : num 79.2 82.9 83 83.6 84.2 ... 

。これは可能ですか?

+1

ちょうど 'GROUP_BY(ID、グループ、性別、年齢)'と 'left_join' – HubertL

+0

@HubertLを行いませんが、それはIDが崩壊しません。 – jchaykow

答えて

1

結合を実行した後に別個に行うことができます。

res <- left_join(df1, df2, by = "Id") %>% distinct(Id) 
関連する問題