У меня есть ряд переменных (из опроса) со значениями (1,2,5,6). Я хочу изменить значения определенного c набора переменных с 5 на 3 и с 6 на 4. В этом примере я включил только те переменные Q11_1: Q11_13, которые мне интересно изменить. Есть около 100 других переменных, которые я не включил в пример.
survey<- read_table2("Q11_1 Q11_2 Q11_3 Q11_4 Q11_5 Q11_6 Q11_7 Q11_8 Q11_9 Q11_10 Q11_11 Q11_12 Q11_13
2 5 5 2 5 5 5 5 2 5 5 2 2
1 1 1 2 2 5 5 5 1 2 2 2 1
6 5 6 6 6 6 5 6 5 6 6 6 6
6 6 6 6 6 6 6 6 6 6 6 6 6
5 6 6 6 6 6 6 6 6 6 6 6 5
6 6 6 6 6 6 6 6 5 5 6 6 5
")
Я знаю, что могу использовать revalue для изменения значений следующим образом:
survey$Q11_1 <- revalue(survey$Q11_1, c('5'='3','6'='4'))
survey$Q11_2 <- revalue(survey$Q11_2, c('5'='3','6'='4'))
survey$Q11_3 <- revalue(survey$Q11_3, c('5'='3','6'='4'))
survey$Q11_4 <- revalue(survey$Q11_4, c('5'='3','6'='4'))
survey$Q11_5 <- revalue(survey$Q11_5, c('5'='3','6'='4'))
survey$Q11_6 <- revalue(survey$Q11_6, c('5'='3','6'='4'))
survey$Q11_7 <- revalue(survey$Q11_7, c('5'='3','6'='4'))
survey$Q11_8 <- revalue(survey$Q11_8, c('5'='3','6'='4'))
survey$Q11_9 <- revalue(survey$Q11_9, c('5'='3','6'='4'))
survey$Q11_10 <- revalue(survey$Q11_10, c('5'='3','6'='4'))
survey$Q11_11 <- revalue(survey$Q11_11, c('5'='3','6'='4'))
survey$Q11_12 <- revalue(survey$Q11_12, c('5'='3','6'='4'))
survey$Q11_13 <- revalue(survey$Q11_13, c('5'='3','6'='4'))
Есть ли способ применить эту переоценку (или какую-либо другую функцию) более эффективным способом ? Мое решение кажется излишне коренастым. Любая помощь приветствуется. Я надеялся на решение pipe / dplyr.
Спасибо !!!