如何将以下数据集合并为独立的行?

时间:2018-09-20 16:45:31

标签: r merge duplicates

我想从两个现有的数据框架创建一个新的数据框架,它们共享名为名字,姓氏和电子邮件的列,但是我希望以第二个数据框架仅粘贴第一个的方式来合并它们为了创建我所有电子邮件的列表。数据帧包含重复项,因此我希望保留它们,以便在下一步中消除它们。显然,我在下面发布的代码不起作用。有帮助吗?

export const routes: Routes = [
  { path: 'home', component: HomeComponent},
  {path:'children', component: [
    {path:'prehistory', component:PrehistoryComponent},
    {path:'**', component:HomeComponent},
  ]},
  { path: '**', pathMatch: 'full', redirectTo: 'home'}
];

@NgModule({
  imports: [RouterModule.forRoot(routes, { useHash: true })],
  exports: [RouterModule]
})

期望的输出将是一个包含所有电子邮件的连接数据集,但迈克·赖斯的电子邮件除外,因为在重复的电子邮件中。

1 个答案:

答案 0 :(得分:0)

您的可复制示例有些混乱,因此我为您提供了一个新示例,以查看这是否是您想要的:

df1 <- data.frame(
    first = c("andrea","luis","mike","thomas"),
    last = c("robinson", "trout", "rice","snell"),
    email = c("andrea@gmail.com", "lt@gmail.com", "mr@gmail.com", "tom@gmail.com")
    )

df2 <- data.frame(
    first = c("mike","steven","mark","john", "martin"),
    last = c("rice", "berry", "smalls","sale", "arnold"),
    email = c("mr@gmail.com", "st@gmail.com", "ms@gmail.com", "js@gmail.com", 
    "ma@gmail.com")
    )

现在,有两种使用dplyr的方法可以做到这一点:

library(dplyr)

df1 %>%
   bind_rows(df2) %>%
   distinct(first, last, .keep_all = TRUE)

或者:

df1 %>%
   full_join(df2)

希望这会有所帮助!