при перекодировании набора переменных, которые имеют одинаковый формат, я хотел бы сделать это в цикле, чтобы сэкономить время, но результат, кажется, ускользает от меня.
рассмотрим следующий пример
d1 <- data.frame(x1 = 1:4,
x2 = 1:4)
Я хочу использовать recode
из автомобильной библиотеки, чтобы назначить новый набор переменных, y1
и y2
, но я не хочу делать это вручную.
мой инфантильный подход -
library(car)
var_list <- c("x1", "x2")
for(i in seq_along(var_list)) {
assign(paste("d1$y", match(i, var_list)], sep = ""),
recode(d1$i, "1:2 = 'a';3:4 = 'b'"))}
Я пытаюсь перебрать var_list
, а затем использовать assign
и paste
для нумерации переменных d1$y1
и d1$y2
.Использование recode
является общепринятым для этого пакета, а не источником моей ошибки (я думаю!)
что я здесь не так делаю?