Как настроить уровни заказа факторной переменной на 2+ условия?
STP_name PCT
<fct> <dbl>
1 ENGLAND 2.58
2 MIDLANDS AND EAST OF ENGLAND 2.64
3 LEICESTER, LEICESTERSHIRE AND RUTLAND STP 2.31
4 BATH, SWINDON AND WILTSHIRE STP 2.94
5 KENT AND MEDWAY STP 2.8
6 BUCKINGHAMSHIRE, OXFORDSHIRE AND BERKSHIRE WEST STP 2.73
7 NORTH CENTRAL LONDON STP 1.93
8 NORTHAMPTONSHIRE STP 2.63
9 SOMERSET STP 3.41
10 SURREY HEARTLANDS STP 2.87
Я хотел бы заказать STP_name
переменная фактора по их убывающим значениям в PCT
Однако я хочу строки для ENGLAND
а также MIDLANDS AND EAST OF ENGLAND
появляться в начале уровней факторов независимо от их PCT
значение.
Идеально ищет решение для котов, но база в порядке.
1 ответ
Решение
Предполагая, что у набора данных есть все unique
'STP_name', измените его на factor
с levels
указано на основе order
"PCT", а затем добавьте два уровня ("АНГЛИЯ", "" МИДЛАНДЫ И ВОСТОК АНГЛИИ ") в начале с relevel
или же fct_relevel
(от forcats
)
library(tidyverse)
library(forcats)
df1 %>%
mutate(STP_name = fct_relevel(factor(STP_name, levels = STP_name[order(-PCT)]),
c("ENGLAND", "MIDLANDS AND EAST OF ENGLAND")))