你可以使用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'),
points=c(12, 14, 19, 24))
df2 <- data.frame(team=c('A', 'B', 'C', 'C'),
points=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 A 12 NA
2 A 14 NA
3 B 19 NA
4 B 24 NA
5 A 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'),
points=c(12, 14, 19, 24))
df2 <- data.frame(team=c('A', 'B', 'C', 'C'),
points=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中执行其他常用函数: