假设我有以下名为data
的tibble
Dataframe :
library(tibble)
data <- tribble(
~"ID", ~"some factor", ~"some other factor",
1L, "low", "high",
2L, "very high", "low",
3L, "very low", "low",
4L, "high", "very high",
5L, "very low", "very low"
)
我使用forcats
中的fct()
函数来相应地转换我的两个因子变量:
library(dplyr)
library(forcats)
data <- data %>%
mutate(across(starts_with("some"), fct))
这就给了我:
# A tibble: 5 × 3
ID `some factor` `some other factor`
<int> <fct> <fct>
1 1 low high
2 2 very high low
3 3 very low low
4 4 high very high
5 5 very low very low
然而,当我这样调用fct
时,我不清楚如何指定这个有序变量的水平,我希望的顺序是:
order <- c("very low", "low", "high", "very high")
**如何使用dplyr
的函数集?**我们的目标是使ggplot2
可视化遵守这种顺序。
2条答案
按热度按时间okxuctiv1#
使用
across()
时,可以通过across
的...
将额外的参数传递给被调用的函数。这相当于
(This是R中的一个常见范例,许多应用函数的函数都有一个
...
参数,用于传递给所应用的函数,另请参见lapply
、sapply
、purrr::map
等。)6mw9ycah2#
应该可以