Здесь мы будем добавлять полезные ссылки для работы с нашей программой DigSee SURE, а также для удобного использования полученных данных.

Файлы для работы с программой DigSee SURE:

Оналайн-сервисы:

Сторонние приложения:

  • Excel 2010 32-bit и выше *** — для контроля работы интервьюеров и анализа полученных данных
  • Power BI 32-bit — для визуализации полученных данных в графики
  • SPSS 20*** и выше — для анализа полученных данных
  • ОСА — отечественная программа для анализа полученных данных
  • Проигрыватель VLC — для проигрывания аудиозаписей
  • Cport — программа распознавания занятых портов
  • Sublime Text 3 — удобен в использовании html и программинга шаблона с помощью xml

Преобразование категориальной переменной множественного выбора в виде набора дихотомий.
Экспорт SPSS в OCA с помощью Python

Александр Виноградов создал макрос для IBM SPSS Statistics, использующий Python для перекодирования категориальной переменной множественного выбора в дихотомическую переменную множественного выбора. Для того, чтобы он корректно работал, необходимо задать метки категорий.

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

* Пример.
 data list fixed / v1 to v3 (3F1).
 begin data
 135
 2
 4
 25
 end data.

* Обязательное условие: указать метки категорий.
 VALUE LABELS v1 to v3
 1 "первый"
 2 "второй"
 3 "третий"
 4 "четвертый"
 5 "пятый".

* Задать категориальную переменную множественного выбора.
 MRSETS
 /MCGROUP NAME=$mrc LABEL='множественный выбор' VARIABLES=v1 v2 v3.

* Определяем функцию на Пайтоне.
 BEGIN PROGRAM PYTHON.
 import spss

def mrconvert(inputvar, prefix):
 spss.StartDataStep()
 mrc = spss.GetMultiResponseSet(inputvar)
 vars = mrc[4]
 dataset = spss.Dataset()
 var = dataset.varlist[vars[0]]
 m = len(vars)
 n = len(var.valueLabels)
 cvars = ' '.join((vars[0], "TO", vars[m-1]))
 dvars = "%s1 TO %s%d" % (prefix, prefix, n)
 s1 = '''
 VECTOR V = %s.
 VECTOR %s(%d, F8).
 LOOP #I=1 to %d.
 DO IF NOT MISSING (V(#I)).
 COMPUTE %s(V(#I)) = 1.
 END IF.
 END LOOP.
 RECODE %s (sysmis = 0).
 EXECUTE.
 ''' % (cvars, prefix, n, m, prefix, dvars)
 s2 = "VARIABLE LABELS\n"
 idx = 1
 for val, lab in var.valueLabels.data.iteritems():
 s2 = s2 + '%s%d "%s"\n' % (prefix, idx, lab)
 idx = idx + 1
 s2 = s2 + "."
 s3 = "MRSETS /MDGROUP NAME=$%s LAB='%s' VAR=%s VAL=1." % (prefix, mrc[0], dvars)
 spss.EndDataStep()
 spss.Submit([s1,s2,s3])
 END PROGRAM.

* Пример вызова функции для преобразования.
 * Категориальная переменная mrc преобразуется в набор дихотомий.
 * Префикс имен дихотомических переменных — Е.
 BEGIN PROGRAM PYTHON.
 mrconvert("mrc", "E")
 END PROGRAM.

Также читайте:

4. Настройка сервера обмена DigSee SURE на ПК с базой данных (БД)