此问题在此处已有答案:
(13个答案)
4天前关闭。
我有一个数据框看起来像这样
df1
x y Classification
1 567610 5934630 0
2 567630 5934630 0
3 567530 5934610 0
4 567492.7 5934585 0
5 567493.3 5934585 0
6 567492.3 5934584 0
7 567492.8 5934584 0
8 567590 5934610 0
还有一个
df2
x y V1
1 567610 5934630 16.153
2 567630 5934630 20.450
3 567530 5934610 1.175
预期产出
df2
x y V1 classification
1 567610 5934630 16.153 0
2 567630 5934630 20.450 0
3 567530 5934610 1.175 0
我累了,但它不工作
df2 %>%
rows_patch(semi_join(df1,df2, by = "x"))
Error in `semi_join()`:
! Input columns in `y` must be unique.
✖ Problem with `x`, `y`, and `V1`.
Run `rlang::last_error()` to see where the error occurred.
我想比较两个dataframe中的x和y,如果它们彼此匹配,则得到df2的分类。df2的所有x和y都来自df1,因此它们都将匹配。我只需要从df1到df2的分类。
3条答案
按热度按时间zd287kbt1#
您可以使用
left_join
而不是rows_patch
,如下所示:创建于2023-03-29带有reprex v2.0.2
cwtwac6a2#
使用
dplyr
使用
data.table
结果
vjhs03f73#
您可以在两个
dfs
之间连接两个列: