人に関するデータを含む2つのテーブルがあります。
df1 <- data.frame(id=c(113,202,377,288,359),
name=c("Alex","Silvia","Peter","Jack","Jonny"))
それは私に
id name
1 113 Alex
2 202 Silvia
3 377 Peter
4 288 Jack
5 359 Jonny
そして、私は彼らの家族の名前を含む2番目のテーブルを持っています:
df2 <- data.frame(id=c(113,113,113,202,202,359,359,359,359),
family.members=c("Ross","Jefferson","Max","Jo","Michael","Jimmy","Rex","Bill","Larry"))
これは私に以下を提供します:
> df2
id family.members
1 113 Ross
2 113 Jefferson
3 113 Max
4 202 Jo
5 202 Michael
6 359 Jimmy
7 359 Rex
8 359 Bill
9 359 Larry
ここで、各人の家族の合計を含む追加の列を使用して、表1を拡張します。
id name no.family.memebers
1 113 Alex 3
2 202 Silvia 2
3 377 Peter 0
4 288 Jack 0
5 359 Jonny 4
Rで3番目のテーブルを作成するための最良の方法は何ですか?
事前にどうもありがとうございました!
使用する dplyr
library(dplyr)
df1 <- df1 %>% left_join((
df2 %>% group_by(id) %>%
summarize(no.family.members = n())
)
)
dplyr
> = 0.3.0.2、それは次のように書き換えることができ
df3 <- df1 %>% left_join(df2 %>% count(id))
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加