10.6 Combine Rows

20201026 We can utilise dplyr::bind_rows() to combine the rows of two datasets with the same columns:

bind_rows(head(ds), tail(ds))
## # 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