R通过添加行进行合并

R通过添加行进行合并,r,merge,dplyr,R,Merge,Dplyr,我有两个数据集,一个包含旅行信息,另一个包含每次旅行的费用,具体取决于我从哪里出发。我需要得到旅行的总成本,并且很容易按照我离开的地点进行合并,但是当我这样做时,它会将1500行添加到我的100000行数据集中。。 有人知道为什么会这样吗?最大的数据集是100000行,另一个大约是10000行 编辑这是df1的一个子集 x Poste Locat V3 1 905916 Mixco 0.3 2 905818 Mixco 0.6 3 905818 Mix

我有两个数据集,一个包含旅行信息,另一个包含每次旅行的费用,具体取决于我从哪里出发。我需要得到旅行的总成本,并且很容易按照我离开的地点进行合并,但是当我这样做时,它会将1500行添加到我的100000行数据集中。。 有人知道为什么会这样吗?最大的数据集是100000行,另一个大约是10000行
编辑

这是df1的一个子集

x Poste       Locat  V3
1 905916      Mixco 0.3
2 905818      Mixco 0.6
3 905818      Mixco 0.6
4 905338 Castellana 0.5
5 904876      Mixco 0.3

这是df2的一个子集

x  Vehiculo  Poste
1  Camion    340592
2  Camion    262776
3  Camion    340622
4  Camion    243254
5  Camion    258505

我需要使用“Poste”合并这两个数据集,因为我将从另一个数据集获得基于“Locat”(位置)和“Vehiculo”(车辆)的成本。


sol请显示您使用的代码和从中获得的输出。您的加入条件有多个匹配项。请使用一个最小的可复制示例来解释您的问题。请查看文档
?merge
,以确定您是否需要
all.x
和/或
all.y
等于
TRUE
。现在听起来像是一个完全连接。很明显,在
df1
中有重复的
Poste
值-第2行和第3行是相同的。如果
df2
中存在重复值,则每对值都将匹配,您将获得更多的数据行。请尝试
any(复制(df2$Poste))
查看。
sol <- merge(sol, df[,c(5,16)], by="Poste")