Каждый раз, когда мне нужно перекодировать некоторый набор переменных, я имею в виду функцию перекодирования SPSS. Я должен признать, что это довольно просто. В пакете car
есть похожая recode
функция, и она помогает, но давайте предположим, что я хочу сделать что-то с factor
.
У меня есть data.frame
с несколькими переменными с диапазоном значений от 1 до 7. Я хочу "перевернуть" значения переменных, заменив единицы на 7, 2 на 6, 3 на 5 и т. Д. Я могу использовать функцию factor
:
# create dummy factor
set.seed(100)
x <- as.factor(round(runif(100,1,7)))
y <- factor(x, levels = rev(levels(x)))
И если я бегу:
> levels(x)
[1] "1" "2" "3" "4" "5" "6" "7"
> levels(y)
[1] "7" "6" "5" "4" "3" "2" "1"
Проблема начинается, когда я хочу перекодировать факторы, у которых нет равных уровней. Если какой-то фактор z имеет уровни c("1", "3", "4", "6", "7")
, есть ли шанс, что я могу "перевернуть" уровни так, чтобы 1 = 7, 2 = 6, 3 = 5 и т. Д., Используя функцию factor
?
Других эффективных функций перекодирования должно хватить!