$sex <- factor(
pssx = pss$gender,
levels = c(1, 2),
labels = c("Чоловіки", "Жінки")
)
Перетворення змінних
Переконавшись у тому, що шкали мають прийнятну надійність, можна переходити до створення потрібних нових змінних і перетворення існуючих. Перший тип перетворень – створення категоріальних змінних чи факторів з кількісних. У нашій таблиці даних pss є змінна gender, яка в закодованому вигляді містить інформацію про стать досліджуваного: одиницею позначені чоловіки, двійкою – жінки. Ця змінна має мати номінальну шкалу, оскільки її значення вказують на приналежність досліджуваного до певної категорії. Виконання потрібного перетворення здійснюється за допомогою функції factor():
Фрагмент коду 5. Створення категоріальної змінної – номінального фактору
Аргументами цієї функції є: x – змінна (стовпчик в таблиці даних), яку треба перетворити на фактор. Після знаку =
у вищенаведеному фрагменті змінна вказується рядком pss$gender. Тобто, спочатку йде ім’я таблиці даних, потім спеціальний символ-розділювач $ (знак долара), а потім назва стовпчика в таблиці.
Мова R має декілька альтернативних способів вказати ім’я однієї змінної: pss[["gender"]]
або pss[[12]]
– змінна gender розташована в дванадцятому стовпчику таблиці даних і до неї можна звернутися за номером 12. Подвійні квадратні дужки і знак долара використовуються для доступу до елементів списку, а таблиці даних є одним з варіантів списку. Більш сучасні функції часто використовують зручніший спосіб передачі змінних: в них можна окремому аргументу (зазвичай він має ім’я data
) передати назву таблиці даних, а імена змінних вказуються в інших аргументах. Приклад такого способу ви можете побачити в аналізі надійності.
Аргумент levels (рівні фактора) має отримати вектор значень, які може приймати вхідна змінна (в даному випадку це числа 1 і 2). Аргументу labels передається вектор рядків, що відповідають текстовим позначенням рівнів фактору. Створений функцією вектор-фактор присвоюється новому стовпчику таблиці pss з назвою sex. Як бачимо, тут використовується спосіб звертання до змінних в таблиці даних з використанням знаку долара.
Інші важливі перетворення змінних, які часто застосовуються в психологічних дослідженнях, включають в себе: 1) Обчислення інтегральних показників (шкал); 2) Категоризація неперервних змінних; 3) Перекодування одних значень змінної на інші; 4) Трансформації типу логарифм, квадратний корінь, піднесення у степінь тощо. Приклади таких перетворень наведені у фрагменті коду нижче. Для виконання багатьох перетворень зручніше за все використовувати функцію mutate() з пакету dplyr. Її першим аргументом є таблиця даних, яка містить необхідні змінні:
Фрагмент коду 6. Основні трансформації змінних
## Перевертання шкали, Сумарний бал, Категоризація неперервної змінної
library(dplyr)
<- mutate(
pss
pss, b4 = 4 - b4, b5 = 4 - b5,
b7 = 4 - b7, b8 = 4 - b8,
score1 = b1 + b2 + b3 + b6 + b9 + b10,
score2 = b4 + b5 + b7 + b8,
score = score1 + score2,
group = cut(score, breaks = 4, include.lowest = TRUE)
)
# Створення змінної через перекодування існуючої
library(car)
$fin <- Recode(
pss$fin_state, as.factor = TRUE,
pssrecodes = "1:2 = 'A'; 3 = 'B'; 4:5 = 'C'"
)
Всі інші аргументи, вказані через кому, визначають ті трансформації, які необхідно здійснити з існуючими змінними, наприклад: 1) для змінних b4, b5, b7, b8 перевертається шкала (це питання із зворотним ключем); 2) обчислюються три інтегральні показники score1 і score2 як сума балів за прямі і зворотні питання шкали PSS, а потім утворюється змінна score як їхня сума; 3) Змінна score розбивається на чотири рівних діапазони (категоризується) функцією cut().
У другій частині наведеного фрагменту відбувається перекодування категоріальної змінної fin_state (фінансовий стан сім’ї досліджуваного) за допомогою функції recode() з пакету car. Її п’ять значень перекодовуються у три категорії A, B і C, оскільки наповненість першої і п’ятої категорій («Не вистачає грошей на їжу» та «Можемо купувати все, що захочемо») є недостатньою. Аргументу recodes передається рядок, в якому вказується схема перекодування існуючих значень у нові. Створений фактор fin з трьома рівнями буде використаний пізніше при проведенні дисперсійного аналізу.