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