首页 > 解决方案 > dplyr 左侧的 bind_cols() 数据框

问题描述

我想知道是否有办法在左侧绑定数据框,而不是通过dplyr(). 这是因为当我dplyr()对第二个数据集进行长时间清理时,最后一步是将数据集绑定到第一个数据集(主数据集)。如果我使用bind_cols(),第二个数据集总是在右侧加入。有没有办法可以强制第一个数据集在长 dplyr 脚本中加入第二个数据集的左侧。

first_dataset <- mtcars[1:3]
second_dataset <- mtcars[4:5]

second_dataset %>% bind_cols(first_dataset)

                     hp drat  mpg cyl  disp
Mazda RX4           110 3.90 21.0   6 160.0
Mazda RX4 Wag       110 3.90 21.0   6 160.0
Datsun 710           93 3.85 22.8   4 108.0
Hornet 4 Drive      110 3.08 21.4   6 258.0
Hornet Sportabout   175 3.15 18.7   8 360.0
Valiant             105 2.76 18.1   6 225.0
Duster 360          245 3.21 14.3   8 360.0
Merc 240D            62 3.69 24.4   4 146.7
Merc 230             95 3.92 22.8   4 140.8
Merc 280            123 3.92 19.2   6 167.6

预期输出:

                     mpg cyl  disp  hp drat
Mazda RX4           21.0   6 160.0 110 3.90
Mazda RX4 Wag       21.0   6 160.0 110 3.90
Datsun 710          22.8   4 108.0  93 3.85
Hornet 4 Drive      21.4   6 258.0 110 3.08
Hornet Sportabout   18.7   8 360.0 175 3.15
Valiant             18.1   6 225.0 105 2.76
Duster 360          14.3   8 360.0 245 3.21
Merc 240D           24.4   4 146.7  62 3.69
Merc 230            22.8   4 140.8  95 3.92
Merc 280            19.2   6 167.6 123 3.92
Merc 280C           17.8   6 167.6 123 3.92

标签: rdplyr

解决方案


请参阅magrittr 简介

当在第一个位置以外的位置需要 LHS 时,可以使用点., 作为占位符。

尝试:

second_dataset %>% bind_cols(first_dataset,.)

推荐阅读