#r #variables #collapse
#r #переменные #свернуть
Вопрос:
У меня есть две переменные со следующими уровнями: 1, 2 и 3. Я усреднил их вместе, так что теперь уровни:
Уровни: 0 < .5 < 1 < 1.5 < 2 < 2.5 < 3
Однако мне нужно свернуть .5 с 1, 1.5 с 2 и 2.5 с 3. Было бы самым простым решением использовать factor recode? Синтаксис, похоже, не имеет смысла для меня.
Комментарии:
1. Я очень новичок в R. Я попробую эти предложения. Пожалуйста, не интерпретируйте мое отсутствие этого как неуважение.
Ответ №1:
Кажется, у вас есть упорядоченный фактор.
x <- factor(c(.5, 1, 1.5, 2, 2.5, 3), ordered = TRUE)
x
#[1] 0.5 1 1.5 2 2.5 3
#Levels: 0.5 < 1 < 1.5 < 2 < 2.5 < 3
Вы можете преобразовать их в числовые и использовать ceiling
для объединения 0,5 с 1, 1,5 с 2 и так далее.
y <- factor(ceiling(as.numeric(as.character(x))), ordered = TRUE)
y
#[1] 1 1 2 2 3 3
#Levels: 1 < 2 < 3
Другой вариант — явно свернуть коэффициент с помощью fct_collapse
from forcats
.
y <- forcats::fct_collapse(x, "1" = c("0.5", "1"),
"2" = c("1.5", "2"),
"3" = c("2.5", "3"))