Unwrap values and clean up NAs used as padding
unwrap_cols(df, groupingVar, separator)
df | A data frame with wrapped values and an inconsistent number of NA values used to as within-group padding. |
---|---|
groupingVar | Name of the variable describing the observational units. |
separator | Character string defining the separator that will delimit the elements of the unwrapped value. |
A summarized tibble. Order is preserved in the grouping variable by making it a factor.
This is roughly the opposite of tidyr::separate_rows()
.
data(primates2017_wrapped) # using commas to separate elements unwrap_cols(primates2017_wrapped, scientific_name, ", ")#> # A tibble: 2 x 6 #> scientific_name common_name habitat red_list_status mass_kg country #> <chr> <chr> <chr> <chr> <chr> <chr> #> 1 Trachypithecus … Germain's La… evergreen … EN 8.83 Cambodia, … #> 2 Nycticebus mena… Philippine S… lowland fo… VU 0.28 Brunei Dar…# separating with semicolons df <- data.frame( ounits = c("A", NA, "B", "C", "D", NA), vals = c(1, 2, 2, 3, 1, 3) ) unwrap_cols(df, ounits, ";")#> # A tibble: 4 x 2 #> ounits vals #> <chr> <chr> #> 1 A 1;2 #> 2 B 2 #> 3 C 3 #> 4 D 1;3