如何在dplyr中使用bind_rows和bind_cols(带有示例)


您可以使用 R 中dplyr包中的bind_rows()函数按行绑定两个数据框:

 bind_rows(df1, df2, df3, ...)

同样,您可以使用 dplyr 的bind_cols()函数按列绑定两个数据框:

 bind_cols(df1, df2, df3, ...)

以下示例展示了如何在实践中使用每个函数。

示例1:使用bind_rows()

以下代码展示了如何使用bind_rows()函数根据三个数据框的行将它们绑定在一起:

 library (dplyr)

#create data frames
df1 <- data. frame (team=c('A', 'A', 'B', 'B'),
                  dots=c(12, 14, 19, 24))


df2 <- data. frame (team=c('A', 'B', 'C', 'C'),
                  dots=c(8, 17, 22, 25))

df3 <- data. frame (team=c('A', 'B', 'C', 'C'),
                  assists=c(4, 9, 12, 6))

#row bind together data frames
bind_rows(df1, df2, df3)

   team points assists
1 to 12 NA
2 A 14 NA
3 B 19 NA
4 B 24 NA
5 to 8 NA
6 B 17 NA
7 C 22 NA
8 C 25 NA
9 A NA 4
10 B NA 9
11 C NA 12
12 C NA 6

请注意,如果数据框不全部具有相同的列名称,则此函数会自动用 NA 填充缺失值。

示例2:使用bind_cols()

以下代码展示了如何使用bind_cols()函数根据三个数据框的列将它们绑定在一起:

 library (dplyr)

#create data frames
df1 <- data. frame (team=c('A', 'A', 'B', 'B'),
                  dots=c(12, 14, 19, 24))


df2 <- data. frame (team=c('A', 'B', 'C', 'C'),
                  dots=c(8, 17, 22, 25))

df3 <- data. frame (team=c('A', 'B', 'C', 'C'),
                  assists=c(4, 9, 12, 6))

#column bind together data frames
bind_cols(df1, df2, df3)

  team points assists steals blocks rebounds
1 A 12 A 8 A 4
2 A 14 B 17 B 9
3 B 19 C 22 C 12
4 B 24 C 25 C 6

请注意,每个数据帧的原始列按照我们在bind_cols()函数中指定的顺序出现在最终数据帧中。

其他资源

以下教程演示如何使用 R 中的rbind()cbind()函数绑定数据框:

以下教程解释了如何在 dplyr 中执行其他常用功能:

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注