This function performs a rowwise count of columns in a data frame that match a set of supplied values.
Arguments
- data
A data frame.
- cols
<
tidy-select
> Columns to search across.- values
A list of values to match.
Details
Parallelization is supported via purrr::in_parallel()
.
Examples
library(dplyr, warn.conflicts = FALSE)
a <- tibble(
x = 1:3,
y = rep(NA, 3),
z = letters[1:3],
aa = rep(FALSE, 3)
)
val <- list(1, NA, "a", FALSE)
gen_rowcount(a, values = val)
#> [1] 4 2 2
gen_rowcount(a, everything(), values = val)
#> [1] 4 2 2
gen_rowcount(a, starts_with(letters[25:26]), values = val)
#> [1] 2 1 1
b <- a %>% mutate(q = gen_rowcount(., values = val))
b
#> # A tibble: 3 × 5
#> x y z aa q
#> <int> <lgl> <chr> <lgl> <int>
#> 1 1 NA a FALSE 4
#> 2 2 NA b FALSE 2
#> 3 3 NA c FALSE 2