У меня есть следующие данные:
library(dplyr)
d <- tibble(
region = c('West Duns', 'West Alpha', 'East fun', 'East Hull',
'Jess One', 'Jess Two'),
figures= c(5, 7, 4, 8, 7, 6))
Я бы хотел, чтобы данные выглядели так:
d <- tibble(
region = c('Jess One', 'Jess Two','West Alpha', 'West Duns'
'East Fun', 'East Hull'),
figures= c(7, 6, 5, 7, 4, 8))
И я знаю, что могу сделать это, используя:
d %>%
arrange(factor(.$region, levels = c('Jess One', 'Jess Two','West Alpha',
'West Duns' ,'East Fun', 'East Hull'))) -> d2
Но что происходит, когда у меня действительно длинные данные, означающие, что потребовались бы годы, чтобы определить каждый фактор?
Я хотел бы использовать case when
и %like%
в аргументе. Так было бы что-то вроде этого:
d2 %>%
arrange(factor(.$region, case_when (levels = c(%like% "Jess", %like%
"West", %like% "East"))) -> d2
Таким образом, факторы упорядочены по первому слову, данному в утверждении, а затем в алфавитном порядке по второму слову в множителе. Я думаю, что алфавитное упорядочение произойдет естественным образом, так что это больше, как использовать аргументы case_when
и %like
, с которыми мне нужна помощь.
Спасибо