【发布时间】:2019-01-13 22:27:15
【问题描述】:
我有两个数据框。第一个有很多乡村俱乐部的财务数据,另一个包含会员数据。这两个数据集共享一个名为“Member_ID”的列,这是我将它们合并在一起的地方。但是,成员数据集包含我需要的标题为“Alternate_ID”的列。但是,当我合并这两个数据集时,“Alternate_ID”列会留下很多 NA 值。
这是我正在尝试做的一个示例:
财务数据:
Member_ID Purchase Purchase.Desc Date
1111 x x x
1111 x x x
1111 x x x
2234 x x x
2234 x x x
3355 x x x
3355 x x x
3355 x x x
会员资料:
Member_ID Alternate_ID
1111 9876
2234 7777
3355 5252
我想要什么:
Member_ID Purchase Purchase.Desc Date Alternate_ID
1111 x x x 9876
1111 x x x 9876
1111 x x x 9876
2234 x x x 7777
2234 x x x 7777
3355 x x x 5252
3355 x x x 5252
3355 x x x 5252
我得到了什么:
Member_ID Purchase Purchase.Desc Date Alternate_ID
1111 x x x 9876
1111 x x x -
1111 x x x -
2234 x x x 7777
2234 x x x -
3355 x x x 5252
3355 x x x -
3355 x x x -
这是我用于合并的代码。
df_finance <- transaction.csv %>% left_join(dates.csv, by = "Customer.Id")
df_finance2 <- df_finance[!is.na(df_finance$Date),]
df_finance3 <- df_finance2[!duplicated(df_finance2$Member.Id),]
colnames(df_member)[6] <- "Member.Id"
total_data <- df_member %>% left_join(df_finance3, by = "Member.Id")
【问题讨论】:
-
这很奇怪。当我做
dplyr::left_join(df_finance, df_member)时,我得到了你想要的。你能展示你的代码吗? -
是的,请出示您的代码,否则我们无法回答。特别是您使用了
dplyr::left_join,或base::merge,或其他什么? -
我正在使用 df_finance %>% left_join