-
Notifications
You must be signed in to change notification settings - Fork 134
Expand file tree
/
Copy pathutils.R
More file actions
44 lines (39 loc) · 895 Bytes
/
utils.R
File metadata and controls
44 lines (39 loc) · 895 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#' Pipe operator
#'
#' See \code{\link[magrittr]{\%>\%}} for more details.
#'
#' @name %>%
#' @rdname pipe
#' @keywords internal
#' @export
#' @importFrom magrittr %>%
#' @usage lhs \%>\% rhs
NULL
check_factor <- function(x, arg = caller_arg(x), call = caller_env()) {
if (is.character(x)) {
factor(x)
} else if (is.factor(x)) {
x
} else {
cli::cli_abort(
"{.arg {arg}} must be a factor or character vector, not {.obj_type_friendly {x}}.",
call = call
)
}
}
check_factor_list <- function(x, arg = caller_arg(x), call = caller_env()) {
if (!is.list(x)) {
cli::cli_abort(
"{.arg {arg}} must be a list, not {.obj_type_friendly {x}}.",
call = call
)
}
is_factor <- vapply(x, is.factor, logical(1))
if (any(!is_factor)) {
cli::cli_abort(
"All elements of {.arg {arg}} must be factors.",
call = call
)
}
x
}