Jak używać bind_rows i bind_cols w dplyr (z przykładami)
Możesz użyć funkcji bind_rows() z pakietu dplyr w R, aby powiązać dwie ramki danych ich wierszami:
bind_rows(df1, df2, df3, ...)
Podobnie możesz użyć funkcji bind_cols() programu dplyr, aby powiązać dwie ramki danych według ich kolumn:
bind_cols(df1, df2, df3, ...)
Poniższe przykłady pokazują, jak w praktyce wykorzystać każdą z tych funkcji.
Przykład 1: Użyj bind_rows()
Poniższy kod pokazuje, jak użyć funkcji bind_rows() do powiązania trzech ramek danych na podstawie ich wierszy:
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
Należy pamiętać, że ta funkcja automatycznie uzupełnia brakujące wartości NA, jeśli nie wszystkie ramki danych mają takie same nazwy kolumn.
Przykład 2: Użyj bind_cols()
Poniższy kod pokazuje, jak użyć funkcji bind_cols() do powiązania trzech ramek danych na podstawie ich kolumn:
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
Należy zauważyć, że oryginalne kolumny każdej ramki danych pojawiają się w końcowej ramce danych w kolejności, w jakiej je określiliśmy w funkcji bind_cols() .
Dodatkowe zasoby
Poniższe samouczki pokazują, jak powiązać ramki danych za pomocą funkcji rbind() i cbind() w języku R:
- Jak używać rbind w R
- Jak używać cbind w R
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe funkcje w dplyr: