r - dplyr 可以在 join 操作后自动生成带有合并结果的列吗?
问题描述
这似乎是一个基本的问题,但在查看文档并搜索 Internet 后,我找不到答案。
我的问题是:R 是否dplyr
包含在加入两个数据框后自动生成具有合并结果的列的参数?对于连接操作,我的意思是left_join
,right_join
或full_join
。
我正在考虑类似于_merge
您可以在 Python 上使用参数生成的列,pandas
或者使用该命令默认生成的Stata变量。indicator = True
merge
_merge
merge
例如:
df1 <- data.frame(id = c(1,2), value1 = c(1,1))
df2 <- data.frame(id = c(1,3), value2 = c(2,1))
result <- df1 %>% full_join(df2, by = 'id', merge_results_option = TRUE)
# Notice that merge_results_option is the argument I'm looking for with this question, if it exists
应该产生:
|--------------|---------------|--------------|--------------|
| id | value1 | value2 | _merge |
|--------------|---------------|--------------|--------------|
| 1 | 1 | 2 | both |
| 2 | 1 | NA | left |
| 3 | NA | 1 | right |
|--------------|---------------|--------------|--------------|
解决方案
这或多或少是由tidylog
package 实现的。它打印一条总结匹配数量的消息,但确实添加了一个标识每一行的列。
您可以在dplyr
此处阅读有关功能请求的讨论,该讨论导致tidylog
了
鉴于
tidylog
已经很好地解决了这个问题,我不再认为这需要在dplyr
尽管一些用户仍然对缺少列添加功能感到不满。令人惊讶的是,我没有在tidylog 问题中看到该功能请求,因此也许您可以将其添加到那里。
推荐阅读
- json - 如何在 Kotlin 中忽略(跳过反序列化)格式错误的 LocalDate 字段?
- mysql - where子句如何处理元组
- dialogflow-es - 为什么取消关联帐户后,仍会存储身份验证凭据?
- javascript - 如何将 javascript 变量添加到 javascript src。使用 jQuery
- reactjs - 如何在不覆盖 React 中其他项目的情况下设置对象的状态
- powershell - 使用 Powershell 在 Windows 中闪烁 SAS 磁盘盒中的灯
- reactjs - 尽管使用反应嵌套提取,但迭代数组不适用于数据
- flutter - 我无法序列化 Flutter 中带有下划线的数据
- arrays - 在 VBA 中对数组运行计算 - 跨列
- airflow - 是否有可能(也是一个好主意)根据数据库的结果动态创建 Airflow dag?