Если вы хотите перекодировать уровни фактора, forcats
может пригодиться.Вы можете прочитать главу R для Data Science для обширного учебного пособия, но вот суть.
library(tidyverse)
library(forcats)
gss_cat %>%
mutate(partyid = fct_recode(partyid,
"Republican, strong" = "Strong republican",
"Republican, weak" = "Not str republican",
"Independent, near rep" = "Ind,near rep",
"Independent, near dem" = "Ind,near dem",
"Democrat, weak" = "Not str democrat",
"Democrat, strong" = "Strong democrat",
"Other" = "No answer",
"Other" = "Don't know",
"Other" = "Other party"
)) %>%
count(partyid)
#> # A tibble: 8 × 2
#> partyid n
#> <fctr> <int>
#> 1 Other 548
#> 2 Republican, strong 2314
#> 3 Republican, weak 3032
#> 4 Independent, near rep 1791
#> 5 Independent 4119
#> 6 Independent, near dem 2499
#> # ... with 2 more rows
Вы даже можете позволить R решать, какие категории (уровни факторов)слиться воедино.
Иногда вам просто нужно объединить все небольшие группы, чтобы упростить график или таблицу.Это работа fct_lump ().[...] Поведение по умолчанию состоит в том, чтобы постепенно объединять наименьшие группы, гарантируя, что совокупность остается наименьшей группой.
gss_cat %>%
mutate(relig = fct_lump(relig, n = 10)) %>%
count(relig, sort = TRUE) %>%
print(n = Inf)
#> # A tibble: 2 × 2
#> relig n
#> <fctr> <int>
#> 1 Protestant 10846
#> 2 Other 10637