as_numeric <- function(x) {
if (all(is.na(x))) {
return(as.numeric(x))
}
if (any(class(x) %in% c("character", "factor")) == TRUE) {
as_numeric <- stringr::str_remove_all(x, "\\s") %>%
stringr::str_extract("[\\d\\.,]+") %>%
stringr::str_replace_all(",", ".") %>%
as.numeric()
return(as_numeric)
}
if (any(class(x) %in% c("Date", "POSIXct")) == TRUE) {
return(lubridate::year(x))
}
if (any(class(x) == "logical") == TRUE) {
as_numeric <- rep(NA, length(x)) %>%
as.numeric()
return(lubridate::year(x))
}
if (class(x) == "integer") {
return(as.numeric(x))
}
}
as_integer <- function(x) {
if (all(is.na(x))) {
return(as.integer(x))
}
if (any(class(x) %in% c("character", "factor")) == TRUE) {
as_integer <- stringr::str_remove_all(x, "\\s") %>%
stringr::str_match("^(\\d+)") %>%
.[, 2] %>%
as.integer()
return(as_integer)
}
if (any(class(x) %in% c("Date", "POSIXct")) == TRUE) {
as_integer <- lubridate::year(x) %>%
as.integer()
return(as_integer)
}
if (any(class(x) == "logical") == TRUE) {
as_integer <- rep(NA, length(x)) %>%
as.integer()
return(as_integer)
}
if (any(class(x) == "numeric") == TRUE) {
return(as.integer(x))
}
}
as_logical <- function(x) {
if (all(stats::na.omit(x) %in% c("TRUE", "FALSE", "O", "N"))) {
x <- dplyr::if_else(x %in% c("TRUE", "O"), TRUE, FALSE)
}
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.