simplepenguins / prepare.R
jcheng5's picture
Simplify code by using human-readable column names
4715029
raw
history blame
594 Bytes
capitalize <- function(str) {
sub("^.", toupper(substr(str, 1, 1)), str)
}
renamer <- function(name) {
parts <- strsplit(name, "_", fixed = TRUE)[[1]]
units <- NULL
if (length(parts) > 1 && tail(parts, 1) %in% c("mm", "g")) {
units <- paste0(" (", tail(parts, 1), ")")
parts <- head(parts, -1)
}
parts <- vapply(parts, capitalize, character(1))
paste0(paste(parts, collapse = " "), units)
}
rename_all <- function(names) {
vapply(names, renamer, character(1))
}
palmerpenguins::penguins |>
dplyr::rename_with(rename_all) |>
readr::write_csv("penguins.csv")