【发布时间】:2021-04-10 04:26:17
【问题描述】:
我对 R 很陌生,我想做一些类似于 VLOOKUP 的事情,以在 2 个不同的数据帧中查找匹配值并返回一个带有匹配项的新数据帧。我还想获得总匹配值的总和。 它们的长度不同。不知道为什么,但是当我进行内部连接时,我得到了重复并且没有重复!
我使用这个函数来删除两个数据帧中的欺骗:
df1[!duplicated(df1), ]
我已尝试此方法以返回具有匹配值的数据框:
matches <- inner_join(df1, df2)
这是我的 2 个表格的示例以及我想要的结果:
df1:
| Column_Name |
|---|
| a |
| b |
| c |
| d |
df2:
| Column_Name |
|---|
| a |
| b |
| c |
| d |
| e |
| f |
| g |
我想要返回的内容: df3:
| Column_Name |
|---|
| a |
| b |
| c |
| d |
感谢您在此提供的任何帮助!
【问题讨论】:
-
对于您共享的示例,
matches <- inner_join(df1, df2)按预期工作并返回 a、b、c 和 d。你能提供一个实际重现问题的例子吗? -
是的,这似乎可行:
df1 <- data.frame(column_name = letters[1:4]); df2 <- data.frame(column_name = letters[1:8]); inner_join(df1, df2)