Go to TogaWare.com Home Page. Data Science Desktop Survival Guide
by Graham Williams
Duck Duck Go



CLICK HERE TO VISIT THE UPDATED SURVIVAL GUIDE

Selecting Rows

20200419 Rows from a data frame can be dplyr::filter()'ed using specific conditions. The rows in the resulting data frame will be those for which the condition is true.

ds %>%
  filter(max_temp >= mean(max_temp, na.rm=TRUE))
## # A tibble: 82,459 x 24
##    date       location min_temp max_temp rainfall evaporation sunshine
##    <date>     <chr>       <dbl>    <dbl>    <dbl>       <dbl>    <dbl>
##  1 2008-12-02 Albury        7.4     25.1      0            NA       NA
##  2 2008-12-03 Albury       12.9     25.7      0            NA       NA
##  3 2008-12-04 Albury        9.2     28        0            NA       NA
##  4 2008-12-05 Albury       17.5     32.3      1            NA       NA
##  5 2008-12-06 Albury       14.6     29.7      0.2          NA       NA
##  6 2008-12-07 Albury       14.3     25        0            NA       NA
##  7 2008-12-08 Albury        7.7     26.7      0            NA       NA
##  8 2008-12-09 Albury        9.7     31.9      0            NA       NA
##  9 2008-12-10 Albury       13.1     30.1      1.4          NA       NA
## 10 2008-12-11 Albury       13.4     30.4      0            NA       NA
## # ... with 82,449 more rows, and 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>

To select rows that have missing values, for example, use dplyr::filter() with purrr::pmap_lgl() to map base::is.na() for base::any() column in the row. In the following example we count the number with missing values using base::nrow(), formatted nicely using scales::comma():

ds %>%
  select(-date) %>%
  filter(pmap_lgl(., ~any(is.na(c(...))))) %>%
  nrow() %>% comma() %>% cat("rows have missing values.\n")
## 114,944 rows have missing values.


Support further development by purchasing the PDF version of the book.
Other online resources include the GNU/Linux Desktop Survival Guide.
Books available on Amazon include Data Mining with Rattle and Essentials of Data Science.
Popular open source software includes rattle and wajig.
Hosted by Togaware, a pioneer of free and open source software since 1984.
Copyright © 2000-2020 Togaware Pty Ltd. . Creative Commons ShareAlike V4.