Как выполнить обратное кодирование в r (с примером)
При создании опросов исследователи иногда перефразируют «положительные» вопросы на «негативные», чтобы гарантировать, что люди дадут последовательные ответы.
Мы говорим, что вопросы такого типа закодированы в обратном порядке .
При использовании опроса для присвоения совокупного балла отдельным лицам важно обеспечить, чтобы вопросы с обратным кодом также получали обратный балл.
В следующем примере показано, как обратить вспять оценки вопросов с обратным кодом в R.
Пример: обратное кодирование в R
Предположим, исследователи проводят опрос из 5 вопросов среди 10 человек, в котором возможные ответы на каждый вопрос следующие:
- Полностью согласен
- Принимать
- Ни согласен, ни несогласен
- Не согласиться
- Категорически не согласен
Следующая база данных содержит результаты опроса, в которых «Полностью согласен» присвоено значение 5, «Согласен» — значение 4 и т. д.:
#create data frame that contains survey results df <- data. frame (Q1=c(5, 4, 4, 5, 4, 3, 2, 1, 2, 1), Q2=c(1, 2, 2, 1, 2, 3, 4, 5, 4, 5), Q3=c(4, 4, 4, 5, 4, 3, 2, 4, 3, 1), Q4=c(3, 4, 2, 2, 1, 2, 5, 4, 3, 2), Q5=c(2, 2, 3, 2, 3, 1, 4, 5, 3, 4)) #view data frame df Q1 Q2 Q3 Q4 Q5 1 5 1 4 3 2 2 4 2 4 4 2 3 4 2 4 2 3 4 5 1 5 2 2 5 4 2 4 1 3 6 3 3 3 2 1 7 2 4 2 5 4 8 1 5 4 4 5 9 2 4 3 3 3 10 1 5 1 2 4
Предположим, что вопросы 2 и 5 закодированы в обратном порядке, поэтому нам нужно поменять местами их оценки.
Это сказать:
- 1 должно стать 5.
- 2 должно стать 4.
- 3 должно стать 3.
- 4 должно стать 2.
- 5 должно стать 1.
Самый простой способ сделать это — взять максимально возможную оценку (5) и прибавить 1, чтобы получить 6. Затем вычесть исходные оценки из 6, чтобы получить обратное значение оценки.
Например:
- 5 становится: 6 – 5 = 1 .
- 4 становится: 6 – 4 = 2 .
- 3 становится: 6 – 3 = 3 .
- 2 становится: 6 – 2 = 4 .
- 1 становится: 6 – 1 = 5 .
Для этого в R мы можем использовать следующий код:
#define columns to reverse code reverse_cols = c(" Q2 ", " Q5 ") #reverse code Q2 and Q5 columns df[, reverse_cols] = 6 - df[, reverse_cols] #view updated data frame df Q1 Q2 Q3 Q4 Q5 1 5 5 4 3 4 2 4 4 4 4 4 3 4 4 4 2 3 4 5 5 5 2 4 5 4 4 4 1 3 6 3 3 3 2 5 7 2 2 2 5 2 8 1 1 4 4 1 9 2 2 3 3 3 10 1 1 1 2 2
Обратите внимание, что все значения в столбцах Q2 и Q5 закодированы в обратном порядке.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:
Как преобразовать коэффициент в числовой в R
Как переименовать уровни факторов в R
Как преобразовать данные в R (логарифм, квадратный корень, кубический корень)