将较大的数据集连接到较小的数据集,保持R中较小的行数

时间:2018-01-18 00:11:10

标签: r dataframe

我有一个名为pitStops的坑站的F1数据框:

DriverId  stop lap
  1          1   3
  2          1   4
  3          1   3
  4          1   2

我有另一个数据框,其中一圈一圈的驾驶位置称为posLap

driverId lap Position
    1      1     1
    1      2     1
    1      3     3
    1      4     3
    2      1     2
    2      2     2
    2      3     2
    2      4     5

当我执行mergeleft_join或任何类型的连接时,陷阱数据帧的行数会增加,因为R正在强制转换为字符向量。 我写的代码如下:

AllAusPit2017 = inner_join(AllAusPit2017, AllAusPos2017, by = "driverId", "lap")

我正在根据driverIdlap进行加入 我想看到的是:

driverId stop  lap position
    1      1     3     3
    2      1     4     5

以及其他驱动程序等等。这是R能做的吗?如果我没有正确解释自己,请告诉我。

1 个答案:

答案 0 :(得分:1)

试试这个:

library(dplyr)
AllAusPit2017 = left_join(AllAusPit2017, AllAusPos2017, by = c("DriverId" = "driverId", "lap"))

当连接多个列时,参数需要作为向量提交。您的原始代码仅使用" driverId"考虑到了。