Найти тему
Diana Salyakhutdinova

Психология и программирование: зачем там нужен код?

Всем привет!

Главное заблуждение многих из тех, кто идет в психологию заключается в том, что она гуманитарная наука и тут не нужны цифры. Обычно это заблуждение у людей заканчивается на курсе по матстату и экспериментальной психологии (правда не у всех).

Если все же психолог уходит в практику и исследования, то ему без цифр и статистики - никуда. И внезапно, но без программирования тоже. Один из самых популярных языков для исследования в социальных науках является R потому что в нем есть много различных пакетов под разные расчеты и нужды.

И как все же используется код в социальных науках? (Здесь будет мой личный опыт в анализе образовательного тестирования, но суть от психологии местами )

Допустим, у вас есть данные какого-то образовательного тестирования на 500 человек, где все ответы закодированы в буквах ABCD в обычной матрице только . Вам нужно узнать средний балл по вашей выборке (в данном случае по 500 людям участвовавшим в тестировании), минимальный и максимальный балл, распределение баллов, а еще посмотреть на качество заданий и ответов в них.

так может выглядеть ваша база с ответами на тест
так может выглядеть ваша база с ответами на тест

Статистические пакеты смогут посчитать вам средний балл, минимум, максимум и другие меры центральной тенденции. НО! К сожалению эти пакеты не смогут вам посчитать и показать такие показатели как трудность и дискриминативность теста:

Трудность - это коэффициент решаемости задания. То есть коэффициент трудности одного задания показывает сколько процентов испытуемых его решили. Чем выше коэффициент, тем легче задание
Дискриминативность показывает, кто лучше решает задание теста – лучшие или худшие участники. Если дискриминативность высокая, то значит эти задания решают "отличники", если она отрицательная , то эти задания лучше решают "двоечники" (например методом подбора ответа)

Хоть и можно помучиться и настроить excel чтобы он посчитал формулы, мы все равно хотим быстро и сразу. (Да и чего там таить, я ненавижу работать с excel)

И тут нам на помощь приходит код и R-Studio (если вы даже очень махровый гуманитарий, то тут вы разберетесь спустя время и простой онлайн курс по R коих много на русском). Внизу на изображении мой код с анализом образовательного теста с пометками на будущее чтобы не забыть что я считаю и использовать этот скрипт в работе (наверху было изображение той базы которую я использовала для рассчетов).

пример того как выглядил мой код
пример того как выглядил мой код

Что можно посчитать при помощи кода и скрипта для образовательного теста:

  1. Превратить базу из ABCD в 0 и 1 (0=неправильный ответ, 1=правильный), исходя из которой будет удобно считать все остальное.
  2. На основе переделанной базы получить всю описательную статистику и меры центральной тенденции и построить график с распределением балла. Увидеть минимальный, максимальный и средний балл по тесту на ваших участниках.
  3. Получить показатели трудности и дискриминативности для всего теста, для каждого задания по отдельности и для каждого варианта в задании. Данные показатели позволят вам понять какие задания в тесте работают хорошо, а какие надо доработать.
вот так может внизу выглядеть анализ каждой ответной категории по показателям трудности/дискриминативности
вот так может внизу выглядеть анализ каждой ответной категории по показателям трудности/дискриминативности

Преимущества подсчета данных в социальных науках при помощи кода и языка R:

  1. Вы не тратите время на прописывание базы с вопросом и значение ответных категорий как допустим в SPSS или STATA. Вы загружаете матрицу так, как ответы записали тестируемые.
  2. Вы можете из базы с ответами ABCD при помощи одной строки получить базу с уже проверенными ответами, где 0 - неправильный ответ, а 1 - правильный.
  3. Вы не пишете никаких формул, не мучаетесь со значениями ячеек и прочим из-за чего может полететь excel.
  4. Все результаты считаются быстро и удобно. Скрипт написанный для одного теста (правда на написание скрипта вы можете угробить пару дней, как я) можно потом применять в других подобных, и ваши данные будут посчитаны буквально за пару минут.
  5. Вы можете по результатам тестирования сделать график распределения баллов участников не выходя из программы (и без плясок с бубном)