10.8 Combine Rows
20201026 We can utilise dplyr::bind_rows() to combine the rows of two datasets with the same columns:
## # A tibble: 12 × 24
## date location min_temp max_temp rainfall evaporation sunshine
## <date> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 2008-12-01 Albury 13.4 22.9 0.6 NA NA
## 2 2008-12-02 Albury 7.4 25.1 0 NA NA
## 3 2008-12-03 Albury 12.9 25.7 0 NA NA
## 4 2008-12-04 Albury 9.2 28 0 NA NA
## 5 2008-12-05 Albury 17.5 32.3 1 NA NA
## 6 2008-12-06 Albury 14.6 29.7 0.2 NA NA
## 7 2023-03-20 Uluru 26.3 38.4 0 NA NA
## 8 2023-03-21 Uluru 26.5 38.9 0 NA NA
## 9 2023-03-22 Uluru 25.1 39.1 0 NA NA
## 10 2023-03-23 Uluru 23.2 39.8 0 NA NA
## 11 2023-03-24 Uluru 22.5 39.8 0 NA NA
## 12 2023-03-25 Uluru 24.2 39.4 0 NA NA
## # ℹ 17 more variables: wind_gust_dir <ord>, wind_gust_speed <dbl>,
## # wind_dir_9am <ord>, wind_dir_3pm <ord>, wind_speed_9am <dbl>,
## # wind_speed_3pm <dbl>, humidity_9am <int>, humidity_3pm <int>,
## # pressure_9am <dbl>, pressure_3pm <dbl>, cloud_9am <int>, cloud_3pm <int>,
## # temp_9am <dbl>, temp_3pm <dbl>, rain_today <fct>, risk_mm <dbl>,
## # rain_tomorrow <fct>
The operation performed by dplyr::bind_rows() is also useful to convert a named list (or vector if all values are of the same type) into a tibble:
ds %>%
head() %>%
select(2:5) %>%
bind_rows(list(location="Somewhere", min_temp=-10,
max_temp=30, rainfall=10))
## # A tibble: 7 × 4
## location min_temp max_temp rainfall
## <chr> <dbl> <dbl> <dbl>
## 1 Albury 13.4 22.9 0.6
## 2 Albury 7.4 25.1 0
## 3 Albury 12.9 25.7 0
## 4 Albury 9.2 28 0
## 5 Albury 17.5 32.3 1
## 6 Albury 14.6 29.7 0.2
## 7 Somewhere -10 30 10
Your donation will support ongoing availability and give you access to the PDF version of this book. Desktop Survival Guides include Data Science, GNU/Linux, and MLHub. Books available on Amazon include Data Mining with Rattle and Essentials of Data Science. Popular open source software includes rattle, wajig, and mlhub. Hosted by Togaware, a pioneer of free and open source software since 1984. Copyright © 1995-2022 Graham.Williams@togaware.com Creative Commons Attribution-ShareAlike 4.0