% Generated by roxygen2: do not edit by hand % Please edit documentation in R/cut_var.R \name{cut_var} \alias{cut_var} \alias{cut_var.default} \alias{cut_var.hms} \alias{cut_var.POSIXt} \alias{cut_var.POSIXct} \alias{cut_var.Date} \alias{cut_var.factor} \alias{cut_var.character} \title{Extended cutting function with fall-back to the native base::cut} \usage{ cut_var(x, ...) \method{cut_var}{default}(x, ...) \method{cut_var}{hms}(x, breaks, ...) \method{cut_var}{POSIXt}( x, breaks, right = FALSE, include.lowest = TRUE, start.on.monday = TRUE, ... ) \method{cut_var}{POSIXct}( x, breaks, right = FALSE, include.lowest = TRUE, start.on.monday = TRUE, ... ) \method{cut_var}{Date}(x, breaks = NULL, start.on.monday = TRUE, ...) \method{cut_var}{factor}(x, breaks = NULL, type = c("top", "bottom"), other = "Other", ...) \method{cut_var}{character}(x, breaks = NULL, type = c("characters", "words"), ...) } \arguments{ \item{x}{an object inheriting from class "POSIXct"} \item{...}{passed on} \item{type}{} } \value{ factor factor factor } \description{ Extended cutting function with fall-back to the native base::cut Simplify a factor to only the top or bottom n levels Subset first part of string to factor } \examples{ readr::parse_time(c("01:00:20", "03:00:20", "01:20:20", "08:20:20", "21:20:20", "03:02:20")) |> cut_var(2) readr::parse_time(c("01:00:20", "03:00:20", "01:20:20", "08:20:20", "21:20:20", "03:02:20")) |> cut_var("min") readr::parse_time(c("01:00:20", "03:00:20", "01:20:20", "08:20:20", "21:20:20", "03:02:20")) |> cut_var(breaks = "hour") readr::parse_time(c("01:00:20", "03:00:20", "01:20:20", "08:20:20", "21:20:20", "03:02:20")) |> cut_var(breaks = hms::as_hms(c("01:00:00", "03:01:20", "9:20:20"))) d_t <- readr::parse_time(c("01:00:20", "03:00:20", "01:20:20", "03:02:20", NA)) f <- d_t |> cut_var(2) readr::parse_time(c("01:00:20", "03:00:20", "01:20:20", "03:02:20", NA)) |> cut_var(breaks = lubridate::as_datetime(c(hms::as_hms(levels(f)), hms::as_hms(max(d_t, na.rm = TRUE) + 1))), right = FALSE) readr::parse_datetime(c("1992-02-01 01:00:20", "1992-02-06 03:00:20", "1992-05-01 01:20:20", "1992-09-01 08:20:20", "1999-02-01 21:20:20", "1992-12-01 03:02:20")) |> cut_var(2) readr::parse_datetime(c("1992-02-01 01:00:20", "1992-02-06 03:00:20", "1992-05-01 01:20:20", "1992-09-01 08:20:20", "1999-02-01 21:20:20", "1992-12-01 03:02:20")) |> cut_var(breaks = "weekday") readr::parse_datetime(c("1992-02-01 01:00:20", "1992-02-06 03:00:20", "1992-05-01 01:20:20", "1992-09-01 08:20:20", "1999-02-01 21:20:20", "1992-12-01 03:02:20")) |> cut_var(breaks = "month_only") readr::parse_datetime(c("1992-02-01 01:00:20", "1992-02-06 03:00:20", "1992-05-01 01:20:20", "1992-09-01 08:20:20", "1999-02-01 21:20:20", "1992-12-01 03:02:20")) |> cut_var(breaks = NULL, format = "\%A-\%H") readr::parse_datetime(c("1992-02-01 01:00:20", "1992-02-06 03:00:20", "1992-05-01 01:20:20", "1992-09-01 08:20:20", "1999-02-01 21:20:20", "1992-12-01 03:02:20")) |> cut_var(breaks = NULL, format = "\%W") as.Date(c("1992-02-01 01:00:20", "1992-02-06 03:00:20", "1992-05-01 01:20:20", "1992-09-01 08:20:20", "1999-02-01 21:20:20", "1992-12-01 03:02:20")) |> cut_var(2) as.Date(c("1992-02-01 01:00:20", "1992-02-06 03:00:20", "1992-05-01 01:20:20", "1992-09-01 08:20:20", "1999-02-01 21:20:20", "1992-12-01 03:02:20")) |> cut_var(breaks = "weekday") as.Date(c("1992-02-01 01:00:20", "1992-02-06 03:00:20", "1992-05-01 01:20:20", "1992-09-01 08:20:20", "1999-02-01 21:20:20", "1992-12-01 03:02:20")) |> cut_var(format = "\%W") mtcars$carb |> as.factor() |> cut_var(2) |> table() mtcars$carb |> as.factor() |> cut_var(20, "bottom") |> table() c("Sunday", "This week is short") |> cut_var(breaks = 3) }