Современные техники управления данными социологических исследований
Збережено в:
Дата: | 2015 |
---|---|
Автори: | , |
Формат: | Стаття |
Мова: | Russian |
Опубліковано: |
Iнститут соціології НАН України
2015
|
Назва видання: | Социология: теория, методы, маркетинг |
Онлайн доступ: | http://dspace.nbuv.gov.ua/handle/123456789/115281 |
Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
Цитувати: | Современные техники управления данными социологических исследований / С. Дембицкий, Т. Любивая // Социология: теория, методы, маркетинг. — 2015. — № 3. — С. 125-146. — Бібліогр.: 11 назв. — рос. |
Репозитарії
Digital Library of Periodicals of National Academy of Sciences of Ukraineid |
irk-123456789-115281 |
---|---|
record_format |
dspace |
spelling |
irk-123456789-1152812017-03-31T03:02:56Z Современные техники управления данными социологических исследований Дембицкий, С. Любивая, Т. 2015 Article Современные техники управления данными социологических исследований / С. Дембицкий, Т. Любивая // Социология: теория, методы, маркетинг. — 2015. — № 3. — С. 125-146. — Бібліогр.: 11 назв. — рос. 1563-4426 http://dspace.nbuv.gov.ua/handle/123456789/115281 303.064 ru Социология: теория, методы, маркетинг Iнститут соціології НАН України |
institution |
Digital Library of Periodicals of National Academy of Sciences of Ukraine |
collection |
DSpace DC |
language |
Russian |
format |
Article |
author |
Дембицкий, С. Любивая, Т. |
spellingShingle |
Дембицкий, С. Любивая, Т. Современные техники управления данными социологических исследований Социология: теория, методы, маркетинг |
author_facet |
Дембицкий, С. Любивая, Т. |
author_sort |
Дембицкий, С. |
title |
Современные техники управления данными социологических исследований |
title_short |
Современные техники управления данными социологических исследований |
title_full |
Современные техники управления данными социологических исследований |
title_fullStr |
Современные техники управления данными социологических исследований |
title_full_unstemmed |
Современные техники управления данными социологических исследований |
title_sort |
современные техники управления данными социологических исследований |
publisher |
Iнститут соціології НАН України |
publishDate |
2015 |
url |
http://dspace.nbuv.gov.ua/handle/123456789/115281 |
citation_txt |
Современные техники управления данными социологических исследований / С. Дембицкий, Т. Любивая // Социология: теория, методы, маркетинг. — 2015. — № 3. — С. 125-146. — Бібліогр.: 11 назв. — рос. |
series |
Социология: теория, методы, маркетинг |
work_keys_str_mv |
AT dembickijs sovremennyetehnikiupravleniâdannymisociologičeskihissledovanij AT lûbivaât sovremennyetehnikiupravleniâdannymisociologičeskihissledovanij |
first_indexed |
2025-07-08T08:31:47Z |
last_indexed |
2025-07-08T08:31:47Z |
_version_ |
1837066888294694912 |
fulltext |
Сер гей Дем биц кий, Тать я на Лю би вая
Сов ре мен ные тех ни ки управ ле ния дан ны ми со ци о ло ги чес ких ис сле до ва ний
СЕРГЕЙ ДЕМБИЦКИЙ,УДК 303.064
êàí äè äàò ñî öè î ëî ãè ÷åñ êèõ íàóê, íà ó÷íûé ñî -
òðóä íèê îò äå ëà ìå òî äî ëî ãèè è ìå òî äîâ ñî -
öè î ëî ãèè Èíñòè òó òà ñî öè î ëî ãèè ÍÀÍ Óêðà -
è íû
ТАТЬЯНА ЛЮБИВАЯ,
êàí äè äàò ñî öè î ëî ãè ÷åñ êèõ íàóê, ìëàä øèé
íà ó÷íûé ñî òðóä íèê îò äå ëà ìå òî äî ëî ãèè è
ìå òî äîâ ñî öè î ëî ãèè Èíñòè òó òà ñî öè î ëî -
ãèè ÍÀÍ Óêðà è íû
Сов ре мен ные тех ни ки управ ле ния дан ны ми
со ци о ло ги чес ких ис сле до ва ний
Аннотация
Статья по свя ще на трем клю че вым ком по нен там управ ле ния дан ны ми мас со -
вых со ци о ло ги чес ких опро сов: 1) ло ги чес ко му кон тро лю (“чис тке”) мас си ва;
2) мо ди фи ка ции дан ных; 3) ра бо те с про пу щен ны ми зна че ни я ми. В пер вой час -
ти рас смот ре ны осно вы тех ни чес кой и ло ги чес кой “чис тки” мас си ва. Во вто -
рой — опи са ны спо со бы пре об ра зо ва ния дан ных в кон тек сте опре де лен ных ис -
сле до ва те льских си ту а ций, а так же тех ни ки пе ре ко ди ров ки име ю щих ся и вы -
чис ле ния но вых пе ре мен ных. В треть ей при ве де ны ме то до ло ги чес кие по ло же -
ния об ра бот ки про пу щен ных зна че ний и не ко то рые ме то ды ра бо ты с ними.
Осо бен нос тью статьи яв ля ет ся ее прак ти чес кая на прав лен ность — все рас -
смат ри ва е мые спо со бы управ ле ния дан ны ми опи ра ют ся на при ме ры, ко то рые,
в свою оче редь, со дер жат ко ман ды на язы ке про грам ми ро ва ния R, по лу чив шем
ши ро кое рас прос тра не ние в на учных кру гах в ка чес тве сре ды ста тис ти чес ких
вы чис ле ний и по стро е ния гра фи ков.
Клю че вые сло ва: управ ле ние дан ны ми, “чис тка” мас си ва, про пу щен ные зна че -
ния, R
Со ци о ло гия: те о рия, ме то ды, мар ке тинг, 2015, 3 125
Вве де ние
Обще из вес тен тот факт, что во мно гих слу ча ях под го тов ка к ана ли зу
уже со бран ных ко ли чес твен ных дан ных мо жет за ни мать зна чи тель но боль -
ше вре ме ни и за би рать зна чи тель но боль ше сил, чем сам ста тис ти чес кий
ана лиз. Нес мот ря на это, в рам ках от е чес твен ной эм пи ри чес кой со ци о ло гии
про бле ма управ ле ния дан ны ми яв ля ет ся в не ко то ром смыс ле ба наль ной.
Со от ве т ству ю щие инстру мен ты со став ля ют само со бой раз уме ю щий ся ми -
нимум, необходимый для успеш ной ра бо ты со ци о ло га ко ли чес твен но го
про фи ля. Вмес те с тем спектр за дач, ре ша е мых в рам ках управ ле ния ко ли -
чес твен ны ми дан ны ми, зна чи тель но шире, чем мо жет себе пред ста вить
среднестатистиче ский укра ин ский со ци о лог. По э то му целью дан ной статьи
яв ля ет ся рас ши ре ние кон цеп ту аль но го поля от е чес твен ной со ци о ло гии в
час ти ос нов управ ле ния ко ли чес твен ны ми дан ны ми, а так же об ога ще ние
ее инстру мен та рия про грам мны ми воз мож нос тя ми язы ка программи ро -
вания R.
Статья пред по ла га ет не ко то рое (хотя бы на чаль ное) зна ко мство с R1,
по сколь ку все при ме ры опи ра ют ся на его ис поль зо ва ние. Боль шая часть ко -
манд, при ве ден ных в ра бо те, дос та точ но про сты для по ни ма ния. Одна ко
есть и син так сис, пред по ла га ю щий зна ко мство с R на уров не выше на чаль -
но го. Но, не за ви си мо от слож нос ти, все при ве ден ные здесь ко ман ды по сле
не зна чи тель ной мо ди фи ка ции мо гут быть ис поль зо ва ны в дру гих ис сле до -
ва те льских проектах.
Так же сто ит от ме тить, что при ме ры статьи осно вы ва ют ся на ис поль зо -
ва нии дан ных со ци о ло ги чес ко го мо ни то рин га “Укра ин ское об щес тво”, ко -
то рый про во дит ся Инсти ту том со ци о ло гии НАН Укра ины с 1994 года.
Ло ги чес кий кон троль (“чис тка”) мас си ва
Очень час то специалисты, ко то рые вво дят дан ные и фор ми ру ют мас сив,
не яв ля ясь ана ли ти ка ми, не об ра ща ют вни ма ния на со дер жа тель ное со от но -
ше ние от ве тов в пред е лах каж дой из ан кет (на при мер, от но си тель но воз рас -
та и об ра зо ва ния), по сколь ку про цесс вво да дан ных час то до ве ден ими до
ав то ма тиз ма. Кро ме того, ког да опе ра тор не дос та точ но опы тен или вни ма -
те лен, пло хо озна ко мил ся с ан ке той или пас пор том для вво да дан ных, в мас -
сив мо гут по пасть зна че ния, от ли ча ю щи е ся от со от ве тству ю щих в ан ке те.
По э то му не пос ре дствен но по сле вво да дан ных ко ли чес твен ных ис сле до ва -
ний воз ни ка ет не об хо ди мость ло ги чес ко го кон тро ля мас си ва. Под логиче -
ским кон тро лем под ра зу ме ва ет ся про вер ка дан ных мас си ва на пред мет при -
су тствия в них ло ги чес ких не со от ве тствий. Нап ри мер, если че ло век го во -
рит, что его воз раст 16 лет и при этом он име ет вы сшее об ра зо ва ние, сле ду ет
про ве рить, не яв ля ет ся ли это ошибкой ввода.
В от е чес твен ной ли те ра ту ре этап ло ги чес ко го кон тро ля дан ных прак ти -
чес ки не опи сан. Его осно вы и пра ви ла на пи са ния со от ве тству ю ще го син -
так си са при ве де ны в справ ке ста тис ти чес ко го па ке та “ОСА for Windows”
(справ ка дос туп на из са мой про грам мы). В за ру беж ной ли те ра ту ре кон тро -
126 Со ци о ло гия: те о рия, ме то ды, мар ке тинг, 2015, 3
Сер гей Дем биц кий, Тать я на Лю би вая
1 Если чи та тель по чу вству ет не об хо ди мость в до пол ни тель ном из уче нии основ R, мы
ре ко мен ду ем от лич ную кни гу Ро бер та Ка ба ко ва “R в де йствии” [Ка ба ков, 2014].
лю дан ных уде ля ет ся зна чи тель но боль ше вни ма ния1. На по пу ляр ном об ра -
зо ва тель ном по рта ле “Coursera” (https://www.coursera.org/) этой теме по -
свя щен от дель ный курс [Leek, s.a.].
Пра виль но про ве ден ный кон троль мас си ва дан ных яв ля ет ся одним из
клю че вых усло вий их ка чес тва. Нап ри мер, в банк дан ных Евро пей ско го
социального ис сле до ва ния (ESS, http://www.europeansocialsurvey.org/) от
стран-учас тниц при ни ма ют ся лишь дан ные, про шед шие тща тель ный кон -
троль.
Кон троль мас си ва дан ных так же на зы ва ют “чис ткой мас си ва”. Пос лед -
нее опре де ле ние чаще ис поль зу ет ся в кру гу от е чес твен ных ис сле до ва те лей,
по э то му да лее мы бу дем ис поль зо вать имен но его. Это край не важ ный этап
управ ле ния дан ны ми, ко то рый по зво ля ет:
— опре де лить ошиб ки вво да опе ра то ра ми;
— на й ти ан ке ты, ко то рые мог ли быть фаль си фи ци ро ва ны;
— под го то вить мас сив для даль ней шей ра бо ты.
Пос лед ний пункт не яв ля ет ся основ ной сфе рой, для ко то рой ис поль зу ет -
ся чис тка дан ных. Хотя прак ти ка по ка зы ва ет, что не ко то рые ан ке ты, со дер -
жа щие мно жес тво ло ги чес ких про ти во ре чий, же ла тель но про ве рить до пол -
ни тель но, свя зав шись с рес пон ден том (при на ли чии его кон так тов), если ра -
нее эта ан ке та не по па ла в вы бо роч ный кон троль по сле по ле вых ра бот.
Чис тку мас си ва мож но услов но раз де лить на тех ни чес кую и ло ги чес -
кую. Тех ни чес кая чис тка ис поль зу ет ся для: 1) про вер ки воп ро сов с мно жес -
твен ны ми аль тер на ти ва ми: кон троль мак си маль но го / ми ни маль но го ко ли -
чес тва вы бран ных ва ри ан тов от ве та (на тот слу чай, если ко ли чес тво ка те го -
рий, ко то рые не об хо ди мо вы брать, уста нов ле но точ но или огра ни че но опре -
де лен ным ко ли чес твом); 2) про вер ка, не вы бран ли в слу чае воп ро сов это го
же типа ва ри ант “Ни че го из пе ре чис лен но го” вмес те с дру ги ми ва ри ан та ми
от ве та; 3) про вер ка пра виль нос ти пе ре хо дов по сле воп ро сов-фи льтров.
Ло ги чес кая чис тка — бо лее твор чес кая. Если в слу чае тех ни чес кой чис т -
ки ис сле до ва тель мо жет ру ко во дство вать ся ис клю чи тель но тре бо ва ни я ми
к за пол не нию ан ке ты, то при ло ги чес кой чис тке ему не об хо ди мо под клю -
чить свое во об ра же ние и зна ния, что бы опре де лить те кон фи гу ра ции от ве -
тов, ко то рые в ло ги чес ком смыс ле про ти во ре чи вы. На ли чие та ких си ту а -
ций об ыч но ука зы ва ет на ошиб ки вво да дан ных или фаль си фи ка цию анкет.
В пер вую оче редь ана ли ти ку не об хо ди мо про ве рить, нет ли дуб лей ан -
кет в мас си ве, то есть вво да од ной ан ке ты два и бо лее раз. Са мый про стой
спо соб — это по стро е ние од но мер но го рас пре де ле ния по клю че во му при -
зна ку2. Если по нему об на ру же ны дуб ли, сле ду ет удос то ве рить ся, что от ве -
ты на воп ро сы так же иден тич ны, и уда лить дуб ли ру ю щую ан ке ту. Если же
от ве ты на воп ро сы с оди на ко вы ми но ме ра ми не иден тич ны, тог да ошиб ка
вво да была в но ме ре ан ке ты и каж дой ан ке те надо при сво ить уни каль ный
Со ци о ло гия: те о рия, ме то ды, мар ке тинг, 2015, 3 127
Сов ре мен ные тех ни ки управ ле ния дан ны ми со ци о ло ги чес ких ис сле до ва ний
1 См., напр.: [Beaver, s.a.].
2 Клю че вой при знак (как пра ви ло, уни каль ный но мер ан ке ты) яв ля ет ся важ ным эле -
мен том об ра бот ки дан ных, ко то рый мо жет ис поль зо вать ся не толь ко для чис тки. Нап ри -
мер, при об ъ е ди не нии раз ных пе ре мен ных од но го мас си ва с по мощью клю че во го при -
зна ка мож но со пос та вить на блю де ния (если в раз лич ных под мас си вах они идут в раз ном
по ряд ке).
но мер. Для про вер ки иден тич нос ти от ве тов не по клю че во му при зна ку, а по
со дер жа нию всех от ве тов мож но ис поль зо вать сле ду ю щий син так сис:
shortlist<- list()
takeData <- finalUSind
takeData <- as.matrix(takeData)
for (i in 1:nrow(takeData)) {
check <- apply(takeData[,-70], 1,
function(x) identical(x, takeData[i,-70]))
if (table(check)[“TRUE”] > 1) {
shortlist <- c(shortlist,
which(check == T)[which(check == T) != i])
if (!i%in%shortlist)
cat(“стро ка”,takeData[i,"keyVar"],":",
which(check == T)[which(check == T) != i], “\n”)
}
}
Сна ча ла мас сив, тре бу ю щий про вер ки, пре об ра зу ет ся в мат ри цу
“takeData” и со зда ет ся пус той век тор “shortlist”. Да лее по сре дством цик ла
for() для каж дой стро ки мат ри цы с по мощью функ ции apply() про ве ря ет ся
ее иден тич ность со все ми стро ка ми (в том чис ле и с са мой со бой) этой же
мат ри цы, а ре зуль та ты за пи сы ва ют ся в виде ло ги чес ко го век то ра “check”. В
дан ном слу чае “–70” ука зы ва ет на то, что не об хо ди мо ис клю чить пе ре мен -
ную с се ми де ся тым ин дек сом, ко то рая здесь яв ля ет ся клю че вым при зна ком
(в про тив ном слу чае каж дое на блю де ние бу дет уни каль ным). Если ко ли -
чес тво зна че ний TRUE боль ше од но го1 (то есть со дер жа ние стро ки со впа да ет
не толь ко само с со бой, но и со дер жа ни ем, по край ней мере, еще од ной стро -
ки), то в век тор “shortlist” за пи сы ва ют ся но ме ра со от ве тству ю щих строк, за
ис клю че ни ем той, ко то рая про ве ря ет ся в дан ный мо мент. И если но ме ра те -
ку щей стро ки нет в “shortlist”, то с по мощью функ ции cat() вы во дит ся ре -
зуль тат, пред став ля ю щий со бой но мер про ве ря е мой в дан ный мо мент стро -
ки и тех строк, ко то рые ее дуб ли ру ют.
Про ве рив мас сив на на ли чие дуб лей, мож но пе ре хо дить не пос ре дствен -
но к чис тке дан ных, в про цес се ко то рой ана ли тик фор му ли ру ет ряд ло ги чес -
ких усло вий про грам мны ми сре дства ми. Ре зуль та том этой про вер ки яв ля -
ет ся спи сок с но ме ра ми ан кет, в ко то рых об на ру же ны ло ги чес кие про ти во -
ре чия. Ког да в рас по ря же нии ис сле до ва те ля на хо дят ся бу маж ные ан ке ты,
он мо жет об ра тить ся к ним, что бы по нять, со вер ше ны ли со от ве тству ю щие
ошиб ки в про цес се вво да дан ных опе ра то ром, и при не об хо ди мос ти ис пра -
вить их. Так же мож но опре де лить, не вы де ля ют ся ли от дель ные ан ке ты сре -
ди дру гих по ко ли чес тву оши бок. При на ли чии та ко вых их мож но про кон -
тро ли ро вать, свя зав шись с рес пон ден том. Кро ме того сто ит про ве рить и
дру гие ан ке ты со от ве тству ю ще го интервьюера.
Рас смот рим при ме ры тех ни чес кой (при ме ры 1 и 2) и ло ги чес кой (при -
ме ры 3 и 4) чис тки.
128 Со ци о ло гия: те о рия, ме то ды, мар ке тинг, 2015, 3
Сер гей Дем биц кий, Тать я на Лю би вая
1 Обоз на че ние ло ги чес ких опе ра то ров в R сле ду ю щее: == (рав но), < (мень ше),
<= (мень ше или рав но), > (боль ше), >= (боль ше или рав но), != (не рав но), | (или), & (и).
При мер 1. Воп рос с мно жес твен ны ми аль тер на ти ва ми про чле нство в
об щес твен ных и по ли ти чес ких орга ни за ци ях не мо жет од но вре мен но со -
дер жать от вет про чле нство в од ной или бо лее од ной орга ни за ции из спис ка
и ва ри ант от ве та “Не при над ле жу ни к од ной”. Для про вер ки мож но ис поль -
зо вать сле ду ю щий на бор ко манд:
finalUSind$b4_sum <- rowSums(finalUSind[15:27])
falserows_b4 <- finalUSind$b4_sum > 0 & finalUSind$b4_14 == 1
wrong_b4 <- which(falserows_b4 == T)
Сна ча ла на хо дит ся об щее ко ли чес тво вы бо ров об щес твен ных и по ли ти -
чес ких орга ни за ций по каж до му рес пон ден ту, ко то рое за пи сы ва ет ся в пе ре -
мен ную “b4_sum”. Для это го ис поль зу ет ся функ ция rowSums(), от но ся ща я ся
к ка те го рии функ ций (на ря ду с colSums(), rowMeans(), colMeans()), предна -
значенных для аг ре ги ро ва ния ин фор ма ции в стро ках или стол бцах мас си ва.
Да лее с по мощью двух ло ги чес ких усло вий, со от ве тству ю щих опи сан ным
выше усло ви ям, со зда ет ся ло ги чес кий век тор “falserows_b4”, в ко то ром зна -
че ния TRUE со от ве тству ют тем стро кам мас си ва, в ко то рых вы яв ле но ло ги -
чес кое про ти во ре чие, а FALSE — тем, в ко то рых не вы яв ле но. Пос ле это го с
по мощью функ ции which() со зда ет ся век тор “wrong_b4”, со дер жа щий но ме -
ра толь ко тех строк (ан кет), в ко то рых вы яв ле но ло ги чес кое про ти во ре чие.
При мер 2. В мо ни то рин ге “Укра ин ское об щес тво” от су тству ют воп ро -
сы-фи льтры. По э то му пред ста вим, что рес пон ден ту, ко то рый за яв ля ет о не -
же ла нии уез жать из на се лен но го пун кта, в ко то ром он жи вет, не дол жен за -
да вать ся воп рос о воз мож ном на прав ле нии пе ре ез да.
falserows_i5 <- finalUSind$i4 == “Нет” & !is.na(finalUSind$i5)
wrong_i5 <- which(falserows_i5 == T)
В пер вой ко ман де кро ме про сто го ло ги чес ко го усло вия так же ис поль зу -
ет ся от ри ца ние ре зуль та тов ис поль зо ва ния ло ги чес кой функ ции is.na().
Исполь зо ва ние этой функ ции са мой по себе воз вра ща ет TRUE для на блю де -
ний с про пус ка ми и FALSE для осталь ных на блю де ний по со от ве тству ю щей
пе ре мен ной (в на шем слу чае TRUE кон вер ти ру ют ся в FALSE и на о бо рот).
При мер 3. Ко ли чес тво лю дей, с ко то ры ми рес пон дент про жи ва ет в од -
ной ком на те, не дол жно быть боль ше ко ли чес тва лю дей, с ко то ры ми он про -
жи ва ет в од ной квар ти ре (доме).
falserows_k7 <- finalUSind$k7 > finalUSind$k6
wrong_k7 <- which(falserows_k7 == T)
При мер 4. Если в воп ро се о виде за ня тос ти от ме чен от вет “Не ра бо таю и
не имею ни ка ких ис точ ни ков до хо да”, то в воп ро се о раз ме ре за ра бот ной
пла ты за по след ний ме сяц дол жен быть ноль.
false_l3 <- finalUSind$n1 == “Не ра бо таю и…” & finalUSind$l3 > 0
wrong_l3 <- which(false_l3 == T)
Чем боль ше пе ре мен ных ис поль зу ет ся в ло ги чес ких усло ви ях, тем выше
ве ро ят ность на хож де ния ошиб ки вво да или вы яв ле ния фаль си фи ци ро ван ной
ан ке ты. В то же вре мя сто ит иметь в виду, что не ко то рые усло вия ло ги чес кой
чис тки не мо гут пря мо го во рить об оши боч ном или не пра виль ном от ве те. В по -
след нем при ме ре рес пон дент мог ска зать о своём по след нем лич ном до хо де, а
Со ци о ло гия: те о рия, ме то ды, мар ке тинг, 2015, 3 129
Сов ре мен ные тех ни ки управ ле ния дан ны ми со ци о ло ги чес ких ис сле до ва ний
не о до хо де за по след ний ме сяц, или толь ко в дан ном ме ся це он стал без ра бот -
ным без ка ких-либо ис точ ни ков до хо да, а в про шлом ме ся це имел до ход.
Кро ме того, не сто ит увле кать ся та ки ми “сла бы ми” усло ви я ми, как, на -
при мер, “Люди с вы сшим об ра зо ва ни ем не мо гут быть по лнос тью не удов -
лет во рен ны ми уров нем сво е го об ра зо ва ния” или “Укра ин цы по на ци о наль -
нос ти не мо гут ис по ве до вать ис лам”. Хотя это и не стан дар тные си ту а ции, но
впол не ве ро ят ные. Так же сле ду ет при дер жи вать ся раз умных пред е лов в ко -
ли чес тве ло ги чес ких усло вий. При су тствие ма лой доли не ло гич нос ти в ан -
ке те впол не до пус ти мо. Бы ва ют си ту а ции, ког да не ко то рые оце ноч ные суж -
де ния в на ча ле и в кон це ан ке ты не со впа да ют, что мо жет сви де т ельство вать
о не опре де лен нос ти мне ния рес пон ден та по дан но му воп ро су.
Пос ле ре а ли за ции син так си са и по лу че ния пе ре чня вы яв лен ных оши -
бок воз мож ны два ва ри ан та даль ней ших де йствий: 1) об ра ще ние к бу маж -
ным ан ке там по их но ме ру и про вер ка пра виль нос ти вве ден ных дан ных (то
есть со пос тав ле ние зна че ний в мас си ве и ан ке те), ис прав ле ние зна че ний по
не об хо ди мос ти; 2) ра бо та ис клю чи тель но с мас си вом дан ных.
Пер вый ва ри ант яв ля ет ся бо лее пред поч ти тель ным, но тог да чис тка за -
ни ма ет зна чи тель но боль ше вре ме ни. Вто рой ва ри ант — ме нее за трат ный по
вре ме ни, но в этом слу чае ис сле до ва те лю при хо дит ся при ни мать ре ше ние
об из ме не нии зна че ний в пе ре мен ных, со дер жа щих не со от ве тствия, или их
ис клю че нии из ана ли за “на свой страх и риск”.
В за вер ше нии этой час ти статьи мы при во дим син так сис, ко то рый струк -
ту ри ру ет ра бо ту, про де мо нстри ро ван ную в при ме рах, и при во дит ре зуль та ты
к бо лее удоб но му фор ма ту:
itogi <- list(“ошиб ка в b4" = wrong_b4, ”ошиб ка в i5" = wrong_i5,
“ошиб ка в k7" = wrong_k7, ”ошиб ка в l3" = wrong_l3)
inorder <- names(sort(table(unlist(itogi)),decreasing = T))
rawresult <- list()
for (i in inorder) {
rawresult[[i]] <- lapply(itogi, function(x) as.numeric(i) %in% x)
}
letsee <- lapply(rawresult, function(x) x[x == T])
Сна ча ла со зда ет ся спи сок “itogi” с ин фор ма ци ей про про пус ки, по лу -
чен ной в пред ы ду щих че ты рех при ме рах. Да лее со зда ет ся век тор “inorder”, в
ко то ром фик си ру ет ся по ря док ан кет в за ви си мос ти от ко ли чес тва на й ден -
ных в них ло ги чес ких не со от ве тствий (по убы ва нию). Пос ле это го со зда ет -
ся еще один спи сок “rawresult”, в ко то ром с по мощью цик ла for() и функ ции
lapply() для каж дой ан ке ты фик си ру ет ся на ли чие или от су тствие логиче -
ского не со от ве тствия в от но ше нии каж дой про вер ки. На ко нец со зда ет ся
по след ний спи сок “letsee”, в ко то ром для каж дой ан ке ты оста ют ся толь ко те
ре зуль та ты, где за фик си ро ва но на ли чие ло ги чес ких не со от ве тствий. Этот
фи наль ный спи сок мо жет быть ис поль зо ван в ка чес тве ру ко во дства для по -
ис ка и об ра бот ки ан кет, по па да ю щих под усло вия про вер ки.
Мо ди фи ка ция дан ных
Пос ле того, как мас сив “по чи щен” и го тов к ра бо те, час то воз ни ка ет не об -
хо ди мость мо ди фи ка ции име ю щих ся пе ре мен ных. В одних слу ча ях это свя -
за но с об щей ло ги кой ана ли за (на при мер, ис клю че ние из ана ли за так на зы ва -
130 Со ци о ло гия: те о рия, ме то ды, мар ке тинг, 2015, 3
Сер гей Дем биц кий, Тать я на Лю би вая
е мых вы бро сов), в дру гих — с тре бо ва ни я ми ис поль зу е мо го ста тис ти чес ко го
ме то да (на при мер, “под гон ка” фор мы рас пре де ле ния), в треть их — с не об хо -
ди мос тью по лу че ния но вой ин фор ма ции на осно ва нии име ю щей ся (на при -
мер, вы чис ле ние ин дек сов). Рас смот рим эти си ту а ции бо лее под роб но.
В слу чае ис поль зо ва ния чис ло вой пе ре мен ной с боль шим ди а па зо ном
воз мож ных зна че ний сле ду ет про ве рить ее на на ли чие “вы бро сов” — не ти -
пич но боль ших или ма лых зна че ний. Для ви зу а ли за ции по след них мож но
ис поль зо вать функ цию boxplot(), по зво ля ю щую по стро ить ди аг рам му раз -
ма хов. В ка чес тве дан ных со зда дим век тор зна че ний “salary” на осно ва нии
пе ре мен ной “l3”, ис клю чив из нее рес пон ден тов без до хо дов и оста вив толь -
ко тех рес пон ден тов, ко то рые были опро ше ны в рам ках по след не го эта па ис -
сле до ва ния, то есть в 2014 году.
finalUSind$salary <- NA
indexes <- which(finalUSind$l3 > 0 & finalUSind$year == 2014)
finalUSind$salary[indexes] <- finalUSind$l3[indexes]
boxplot(salary, horizontal = T, las = 1, col = “slategray3",
outpch = 16, outcol = ”slategray3")
По лу чен ная ди аг рам ма (см. рис. 1) по ка зы ва ет ни жнюю и вер хнюю гра -
ни цы “вы бро сов”, квар ти ли, ме ди а ну и сами “вы бро сы” (они от ме че ны точ -
ка ми).
Рис. 1. Ди аг рам ма раз ма хов, по стро ен ная с по мощью функ ции boxplot()
Для со дер жа тель ной де та ли за ции чис ло вых па ра мет ров этой ди аг рам -
мы ис поль зу ют ся функ ции boxplot.stats() и barplot(). Пер вая по ка зы ва ет
ни жнюю гра ни цу “вы бро сов” (вмес то нее мо жет быть по ка за но ми ни маль -
ное зна че ние, если оно боль ше ни жней гра ни цы), пер вый квар тиль, ме ди а -
ну, вто рой квар тиль, вер хнюю гра ни цу “вы бро сов” (мо жет быть по ка за но
мак си маль ное зна че ние, если оно мень ше вер хней гра ни цы)1. Вто рая по зво-
Со ци о ло гия: те о рия, ме то ды, мар ке тинг, 2015, 3 131
Сов ре мен ные тех ни ки управ ле ния дан ны ми со ци о ло ги чес ких ис сле до ва ний
0 5000 10000 15000
1 Ниж няя гра ни ца рав на Q1 – 1,5 × IQR, а вер хняя — Q3 + 1,5 × IQR, где Q1 — пер вый
квар тиль, Q3 — тре тий квар тиль, IQR — меж квар тиль ная ши ро та.
ляет про а на ли зи ро вать час тот ное рас пре де ле ние “вы бро сов” с по мощью
стол бча той ди аг рам мы (см. рис. 2).
boxplot.stats(salary)$stats
[1] 110 1200 1500 2400 4200
barplot(table(boxplot.stats(salary)$out),horiz = T,
las = 1, col = “slategray3")
Рис. 2. Стол бчатая ди аг рам ма, по стро ен ная с по мощью функ ции barplot()
Ре ше ние о том, что же в ито ге счи тать вы бро сом, всег да яв ля ет ся не -
сколь ко суб ъ ек тив ным и осно вы ва ет ся на ин тер пре та ции по лу чен ных ре -
зуль та тов. В этом при ме ре мы ре ши ли, что вы бро са ми бу дут все зна че ния
рав ные или пре вы ша ю щие 10 000. Что бы со здать но вую пе ре мен ную, не со -
дер жа щую вы бро сов, мож но ис поль зо вать сле ду ю щую ко ман ду:
finalUSind$l3new <- finalUSind$l3[finalUSind$l3 < 10000]
По рой воз ни ка ет не об хо ди мость пре об ра зо ва ния той или иной пе ре мен -
ной ис хо дя из тре бо ва ний, пред ъ яв ля е мых к ана ли зи ру е мым дан ным со сто -
ро ны ис поль зу е мо го ме то да. Так же мо жет по тре бо вать ся при ве де ние раз лич -
ных шкал к од ной раз мер нос ти. При ме ра ми та ких си ту а ций яв ля ют ся, со от -
ве тствен но, ис поль зо ва ние клас тер но го ана ли за и по стро е ние ли ней ных гра -
фи ков. Так, в рам ках клас тер но го ана ли за пе ре мен ные с бо лее ши ро ким ди а -
па зо ном зна че ний бу дут иметь боль шее вли я ние на об ра зо ва ние клас те ров,
что да ле ко не всег да оправ дан но. Что ка са ет ся по стро е ния ли ней ных гра фи -
ков, то ана лиз пе ре мен ных с бо лее узким ди а па зо ном зна че ний бу дет за труд -
нен. В та ких слу ча ях по дой дет нор ма ли за ция или рас чет Z-зна че ний.
До пус тим, мы хо тим раз де лить рес пон ден тов на груп пы в за ви си мос ти
от их рос та и веса. Для нор ма ли за ции в R ис поль зу ет ся функ ция scale():
data$rost <- scale(finalUSind$g7)
data$ves <- scale(finalUSind$g8)
132 Со ци о ло гия: те о рия, ме то ды, мар ке тинг, 2015, 3
Сер гей Дем биц кий, Тать я на Лю би вая
17000
15000
10000
8000
7300
7000
6500
6000
5800
5500
5250
5200
5000
4800
4700
4600
4500
4300
0 5 10 15 20 25
Пе ре мен ная g7 вклю ча ет ин фор ма цию про рост рес пон ден та (ин тер -
квар тиль ная ши ро та рав на 96 см), а g8 — про вес (ин тер квар тиль ная ши ро та
рав на 17 кг). Пос ле стан дар ти за ции вли я ние раз мер нос ти шка лы на ре зуль -
та ты клас тер но го ана ли за бу дет ни ве ли ро ва но (в дан ном слу чае мы ис хо -
дим из того, что обе пе ре мен ные оди на ко во важ ны в про цес се раз де ле ния
рес пон ден тов на груп пы).
Те перь рас смот рим при мер, ка са ю щий ся из ме не ния уров ней ин тер -
наль нос ти/экс тер наль нос ти (ин тер на лы об ъ яс ня ют из ме не ния в сво ей
жиз ни внеш ни ми и не за ви ся щи ми от них об сто я т ельства ми, экс тер на лы,
на о бо рот, бе рут от ве тствен ность на себя) и ма те ри аль ной об ес пе чен нос ти
рес пон ден тов в це лом по стра не. Для ана ли за ис поль зо ва ны ли ней ные гра -
фи ки. Но пре жде чем их по стро ить, не об хо ди мо рас счи тать со от ве тству ю -
щие ин дек сы. В слу чае оцен ки ма те ри аль но го по ло же ния семьи1 дос та точ -
но рас счи тать сред нее зна че ние для каж до го года. Для это го мож но ис поль -
зо вать функ цию aggregate():
finalUSind$l2num <- as.numeric(finalUSind$l2)
indfirst <- aggregate(finalUSind$l2num, by=list(finalUSind$year),
FUN=mean, na.rm = T)
indfirstfin <- scale(indfirst$x)
Что ка са ет ся ин дек са экс тер наль нос ти/ин тер наль нос ти, то рас чет бу -
дет бо лее слож ным. Сна ча ла со зда дим и за пи шем в об ъ ект lineGraph таб ли цу
со пря жен нос ти (см. табл.) с по мощью сле ду ю ще го син так си са2:
lineGraph <- table(finalUSind$year,finalUSind$f4)
Таб ли ца
Дан ные для рас че та ин дек са экс тер наль нос ти/ин тер наль нос ти
Год
Ва ри ан ты от ве та
В основ ном
от внеш них
обстоятельств
В не ко то рой
мере от меня,
но боль ше от
внеш них об -
сто я тельств
В оди на ко вой
мере от меня и
от внеш них об -
сто я тельств
В боль шей
мере от меня,
чем от внеш -
них об сто я -
тельств
В основ ном
от меня
1992 358 611 450 215 115
1994 509 553 385 180 166
1995 528 513 409 186 166
… … … … … …
2010 289 550 560 211 189
2012 303 581 549 184 183
2014 296 508 548 255 191
Со ци о ло гия: те о рия, ме то ды, мар ке тинг, 2015, 3 133
Сов ре мен ные тех ни ки управ ле ния дан ны ми со ци о ло ги чес ких ис сле до ва ний
1 Исполь зу ет ся шка ла от 0 до 10, где 0 — са мая низ кая оцен ка, 10 — са мая вы со кая.
2 Внеш ний вид таб ли цы от ре дак ти ро ван в со от ве тствии с фор ма том статьи.
Те перь для каж до го года не об хо ди мо из сум мы на блю де ний, по па да ю -
щих в пер вые две ка те го рии, от нять сум му для двух по след них, а по лу чен -
ное зна че ние раз де лить на об щее ко ли чес тво на блю де ний, по сле чего мож но
стан дар ти зи ро вать ин декс:
indsec <- (rowSums(lineGraph[4:5,])
– rowSums(lineGraph[1:2,])) / rowSums(lineGraph)
indsecfin <- scale(indsec)
Да лее при ве де ны два гра фи ка (см. рис. 3): пер вый по стро ен на осно ва -
нии “сы рых” ин дек сов, вто рой — нор ма ли зи ро ван ных. В пер вом слу чае
связь пе ре мен ных прак ти чес ки не воз мож но про сле дить, во вто ром она вы -
ра же на очень от чет ли во.
Рис. 3. Ли ней ный гра фик до и по сле нор ма ли за ции зна че ний
Дру ги ми рас прос тра нен ны ми спо со ба ми пре об ра зо ва ния яв ля ют ся ло -
га риф ми чес кое, квад рат но го кор ня, об рат ное и квад рат ное [Ши пу нов, 2014:
с. 62–64]. Ло га риф ми чес кое пре об ра зо ва ние мо жет дать нор маль ное рас -
пре де ле ние, ког да оно ско ше но впра во. Кро ме того, оно де ла ет за ви си мос ти
меж ду пе ре мен ны ми бо лее ли ней ны ми и урав ни ва ет дис пер сии. Пос коль ку
ло га риф ми чес кое пре об ра зо ва ние не при год но для ра бо ты с ну ля ми, ре ко -
мен ду ет ся при бав лять еди ни цу:
log(data$var1 + 1)
134 Со ци о ло гия: те о рия, ме то ды, мар ке тинг, 2015, 3
Сер гей Дем биц кий, Тать я на Лю би вая
Оценка материального положения семьи
Год исследования
Экстернальность/интернальность
Пре об ра зо ва ние квад рат но го кор ня по хо же по де йствию на ло га риф ми -
чес кое. При этом оно мо жет ра бо тать с ну ля ми, но не мо жет — с от ри ца тель -
ны ми зна че ни я ми:
sqrt(data$var1)
Обрат ное пре об ра зо ва ние ис поль зу ет ся в слу чае не об хо ди мос ти ста би -
ли за ции дис пер сии. Так же, как и ло га риф ми чес кое, оно пред по ла га ет до -
бав ле ние еди ни цы:
1/(data$var1 + 1)
Квад рат ное пре об ра зо ва ние под хо дит для слу ча ев, ког да рас пре де ле ние
ско ше но вле во (мо жет при вес ти к нор маль но му). Оно ли не а ри зу ет за ви си -
мос ти и вы рав ни ва ет дис пер сии:
data$var1^2.
Кро ме опи сан ных спо со бов мо ди фи ка ции, час то воз ни ка ет не об хо ди -
мость рас че та но вых пе ре мен ных (как на осно ва нии усло вий спе ци аль ных
ме то дик, ко то рые при ме ня лись в рам ках ис сле до ва ния, так и, с уче том сво е -
го опы та, на осно ва нии от дель ных пе ре мен ных), а так же пе ре ко ди ров ки
име ю щих ся (на при мер, рас пре де ле ние рес пон ден тов по воз рас тным ка те го -
ри ям или ре ги о нам про жи ва ния).
При не об хо ди мос ти ди хо то ми за ции чис ло вой пе ре мен ной мож но ис -
поль зо вать функ цию ifelse(). В ка чес тве вхо дя щих дан ных опять ис поль зо -
ва ны от ве ты рес пон ден тов в 2014 году про до ход за по след ний ме сяц. При
этом не ис клю че ны те, у кого до ход от су тству ет:
num.data <- finalUSind$l3[finalUSind$year == 2014]
poor.and.rich <- ifelse(num.data <= 1500, 0, 1)
Фун кция ifelse() при ни ма ет три ар гу мен та: 1) ло ги чес кое усло вие (в на -
шем слу чае — до ход боль ше 1500); 2) зна че ние, воз вра ща е мое функ ци ей в
слу чае ис тин нос ти усло вия для рес пон ден та (в на шем слу чае — ноль);
3) зна че ние, воз вра ща е мое в слу чае лож нос ти усло вия для рес пон ден та (в
на шем слу чае — 1).
Вто рым про стым спо со бом раз бив ки чис ло вых пе ре мен ных яв ля ет ся
ав то ма ти зи ро ван ная про це ду ра ка те го ри за ции с по мощью функ ции
bin.var(), по зво ля ю щая при ме нить один из трех ме то дов: 1) по стро е ние ин -
тер ва лов рав ных раз ме ров (ве ли чи на ин тер ва ла рав на Xmax/n, где Xmax —
мак си маль ное зна че ние в рас пре де ле нии, n — ко ли чес тво ин тер ва лов);
2) по стро е ние ин тер ва лов оди на ко вой на пол нен нос ти (по N/n рес пон ден -
тов в каж дой груп пе, где N — раз мер вы бор ки, n — ко ли чес тво ин тер ва лов);
3) по стро е ние ин тер ва лов на осно ва нии клас те ри за ции ме то дом k-сред них.
Сна ча ла рас смот рим об щую фор му со от ве тству ю щей ко ман ды:
bin.var(salary[salary < 10000], bins=4, method="intervals", labels=NULL))
В ка чес тве пер во го ар гу мен та ука зы ва ет ся чис ло вая пе ре мен ная мас си -
ва или век тор (как в на шем слу чае), в ка чес тве вто ро го (bins) — ко ли чес тво
ин тер ва лов, ко то рые не об хо ди мо по стро ить, в ка чес тве треть е го (method) —
ме тод раз бив ки, с по мощью по след не го (labels) за да ет ся фор мат на и ме но ва -
Со ци о ло гия: те о рия, ме то ды, мар ке тинг, 2015, 3 135
Сов ре мен ные тех ни ки управ ле ния дан ны ми со ци о ло ги чес ких ис сле до ва ний
ния групп. Те перь про а на ли зи ру ем, к ка ким ре зуль та там при во дит каж дый
из трех ме то дов (для на гляд нос ти ре зуль та ты при во дят ся в от ре дак ти ро -
ван ном виде):
table(bin.var(salary[salary < 10000], bins=4,
method="intervals", labels=NULL))
(102,2080] 1115
(2080,4060] 383
(4060,6030] 56
(6030,8010] 11
table(bin.var(salary[salary< 10000], bins=4,
method="proportions", labels=NULL))
(110,1190] 392
(1190,1500] 397
(1500,2400] 388
(2400,8000] 388
table(bin.var(salary[salary< 10000], bins=4,
method="natural", labels=NULL))
(-Inf,1450] 678
(1450,2400] 499
(2400,4200] 322
(4200,8000] 66
Как вид но, в слу чае ана ли за до хо дов на и бо лее сба лан си ро ван ную
струк ту ру (как в смыс ле ве ли чи ны ин тер ва лов, так и в смыс ле на пол нен -
нос ти ка те го рий) об ес пе чи ва ет ис поль зо ва ние треть е го ме то да.
В слу чае пе ре ко ди ров ки но ми наль ных пе ре мен ных, а так же в слу чае не -
обходимости по лно го кон тро ля при со зда нии не сколь ких ка те го рий на осно -
ва нии чис ло вой пе ре мен ной на и луч шим спо со бом яв ля ет ся ис поль зо ва ние
функ ции within(). Для при ме ра рас смот рим пе ре ко ди ров ку пе ре мен ной о се -
мей ном ста ту се рес пон ден та с шес тью ка те го ри я ми: 1 — “Ни ког да не был(-а)
в бра ке”, 2 — “Сос тою в за ре гис три ро ван ном бра ке”, 3 — “Сос тою в фактиче -
ском, не за ре гис три ро ван ном бра ке”, 4 — “Раз ве ден(-а) офи ци аль но”, 5 — “Ра -
зо шел ся(-ась), хотя офи ци аль но не раз ве ден(-а)”, 6 — “Вдо вец (вдо ва)”. Но -
вая пе ре мен ная бу дет иметь че ты ре ка те го рии: “Ни ког да не со сто ял(-а) в бра -
ке” (пер вая ка те го рия), “Сос тою в бра ке (граж дан ском или фак ти чес ком)”
(вто рая и третья ка те го рии), “Ра зо шел ся или раз ве ден” (чет вер тая и пя тая ка -
те го рии), “Вдо вец (вдо ва)” (шес тая ка те го рия). Син так сис R сле ду ю щий:
finalUSind <- within(finalUSind,{
s3_4 <- NA
s3_4[as.numeric(s3) == 1] <- 1
s3_4[as.numeric(s3) == 2] <- 2
s3_4[as.numeric(s3) == 3] <- 2
s3_4[as.numeric(s3) == 4] <- 3
s3_4[as.numeric(s3) == 5] <- 3
s3_4[as.numeric(s3) == 6] <- 4
})
136 Со ци о ло гия: те о рия, ме то ды, мар ке тинг, 2015, 3
Сер гей Дем биц кий, Тать я на Лю би вая
В пер вой стро ке мы ука зы ва ем на зва ние мас си ва, в ко то ром осу щес вля -
ют ся пре об ра зо ва ния (finalUSind), во вто рой — при сва и ва ем но вой пе ре мен -
ной про пус ки (этот шаг об я за тель ный), в даль ней ших с по мощью ло ги чес -
ких вы ра же ний опре де ля ем усло вия для со пос тав ле ния ста рых и но вых ка -
те го рий. Исполь зуя дру гие ло ги чес кие опе ра то ры и “пе ре вер нув” по ря док
при сво е ния зна че ний, мож но со кра тить при ве ден ный син так сис:
finalUSind <- within(finalUSind,{
s3_4 <- NA
s3_4[as.numeric(s3) == 6] <- 4
s3_4[as.numeric(s3) < 6] <- 3
s3_4[as.numeric(s3) < 4] <- 2
s3_4[as.numeric(s3) == 1] <- 1
})
Еще одним аль тер на тив ным ва ри ан том в дан ном слу чае бу дет та кой
(здесь по ря док при сво е ния не иг ра ет роли):
finalUSind <- within(finalUSind,{
s3_4 <- NA
s3_4[as.numeric(s3) == 6] <- 4
s3_4[as.numeric(s3) == 2 | as.numeric(s3) == 3] <- 2
s3_4[as.numeric(s3) == 4 | as.numeric(s3) == 5] <- 3
s3_4[as.numeric(s3) == 1] <- 1
})
Ког да не об хо ди мо вы чис лить но вую пе ре мен ную на осно ва нии име ю -
щих ся, ис поль зу ют ся при выч ные ма те ма ти чес кие опе ра ции1. Так же мо гут
ис поль зо вать ся и встро ен ные в R функ ции. Для на ча ла рас смот рим по стро -
е ние ин дек са про пор ци о наль нос ти веса. Он рас счи ты ва ет ся как от но ше ние
веса тела че ло ве ка в ки лог рам мах к квад ра ту его рос та в мет рах. Исхо дя из
того, что в мас си ве рост за фик си ро ван в сан ти мет рах, а вес — в ки лог рам мах,
син так сис мо жет при нять один из двух ва ри ан тов:
finalUSind$g8and7 <- finalUSind$g8/(finalUSind$g7*finalUSind$g7/10000)
finalUSind$g8and7 <- finalUSind$g8/(finalUSind$g7**2/10000)
В слу чае, ког да не об хо ди мо вы чис лить боль шее ко ли чес тво но вых пе ре -
мен ных, удоб но ис поль зо вать функ цию transform(). Нап ри мер, при пе ре во -
де пе ре мен ных, со дер жа щих ин фор ма цию в грив нях (до ход рес пон ден та,
ми ни маль но при ем ле мый уро вень до хо да по его оцен ке, уро вень до хо да,
при ко то ром, по мне нию рес пон ден та, мож но жить хо ро шо и т.д.), ис поль зо -
ва ние этой функ ции бу дет вы гля деть сле ду ю щим об ра зом:
finalUSind <- transform(finalUSind,
l3_dollar = l3 / currency,
l5_dollar = l5 / currency,
l6_dollar = l6 / currency,
Со ци о ло гия: те о рия, ме то ды, мар ке тинг, 2015, 3 137
Сов ре мен ные тех ни ки управ ле ния дан ны ми со ци о ло ги чес ких ис сле до ва ний
1 Обоз на че ние основ ных ма те ма ти чес ких опе ра то ров в R сле ду ю щее: + (сло же ние),
– (вы чи та ние), × (умно же ние), / (де ле ние), ^ или ** (воз ве де ние в сте пень).
l7_dollar = l7 / currency,
l8_dollar = l8 / currency,
l9_dollar = l9 / currency,
l10_dollar = l10 / currency,
l11_dollar = l11 / currency,
l12_dollar = l12 / currency,
)
В пер вой стро ке ука зан мас сив (до зна ка при сва и ва ния), в ко то рый за -
пи сы ва ют ся но вые пе ре мен ные и из ко то ро го бе рут ся пе ре мен ные для рас -
че та (в ка чес тве пер во го ар гу мен та функ ции). Да лее при ве де ны вы ра же ния
для рас че та всех не об хо ди мых пе ре мен ных (пе ре мен ная “currency” не сет в
себе ин фор ма цию про курс дол ла ра).
Во мно гих слу ча ях при рас че те но вых пе ре мен ных очень удоб но ис -
поль зо вать встро ен ные, то есть дос туп ные в R по умол ча нию функ ции. Хо -
ро шим при ме ром яв ля ет ся рас чет Интег раль но го ин дек са со ци аль но го са -
мо чу вствия, раз ра бо тан но го Евге ни ем Го ло ва хой и На та ли ей Па ни ной [Го -
ло ва ха, 1997]. На пер вом эта пе рас че та это го ин дек са не об хо ди мо на й ти
сум му зна че ний по 20-ти ин ди ка то рам. Сна ча ла рас смот рим син так сис без
ис поль зо ва ния встро ен ной функ ции:
finalUSindTest <- transform(finalUSindTest, f6_sum = as.numeric(f6_1)
+ as.numeric(f6_2) + as.numeric(f6_3)
+ as.numeric(f6_4) + as.numeric(f6_5)
+ as.numeric(f6_6) + as.numeric(f6_7)
+ as.numeric(f6_8) + as.numeric(f6_9)
+ as.numeric(f6_10) + as.numeric(f6_11)
+ as.numeric(f6_12) + as.numeric(f6_13)
+ as.numeric(f6_14) + as.numeric(f6_15)
+ as.numeric(f6_16) + as.numeric(f6_17)
+ as.numeric(f6_18) + as.numeric(f6_19)
+ as.numeric(f6_20))
В це лях ком пак тнос ти здесь мож но ис поль зо вать функ цию rowSums(),
но пе ред этим все ин ди ка то ры не об хо ди мо при вес ти к чис ло во му виду
(функ ция при ни ма ет толь ко чис ло вые пе ре мен ные, а сей час они яв ля ют ся
пе ре мен ны ми-фак то ра ми). Для это го мы при бе га ем к функ ции sapply(), ис -
поль зо ва ние ко то рой за клю ча ет ся в при ме не нии за дан но го ме то да к каж до -
му ком по нен ту спис ка (мас сив яв ля ет ся его час тным слу ча ем), ре зуль та том
чего яв ля ет ся век тор зна че ний1:
finalUSind$f6_sum <- rowSums(sapply(finalUSind[184:203], as.numeric))
Здесь об ра ще ние к пе ре мен ным осу ще ствля ет ся не с по мощью имен пе -
ре мен ных, а с по мощью их ин дек сов. Пе ре мен ным с f6_1 по f6_20 со от ве т -
ству ют ин дек сы с 184-го по 203-й. Как вид но, в дан ном слу чае для сум ми ро -
ва ния ин ди ка то ров по на до би лось зна чи тель но мень ше строк кода.
138 Со ци о ло гия: те о рия, ме то ды, мар ке тинг, 2015, 3
Сер гей Дем биц кий, Тать я на Лю би вая
1 Най ти пра виль ное ре ше ние здесь по мог ли Ки рилл За ха ров и Александр Ви ног ра -
дов, за что ав то ры статьи вы ра жа ют им осо бую бла го дар ность.
Да лее не об хо ди мо скор рек ти ро вать по лу чен ную пе ре мен ную (f6_sum) с
уче том того, что чет вер тая ка те го рия (“Не ин те ре су ет”) при рас че те ин дек -
са дол жна быть при ня та за двой ку. Сле до ва тель но, сум ма двад ца ти ин ди ка -
то ров дол жна да вать мак си мум 60, а не 80 бал лов. Для ре ше ния этой за да чи
не об хо ди мо под счи тать для каж до го рес пон ден та ко ли чес тво чет ве рок и
вы честь со от ве тству ю щее зна че ние, умно жен ное на два из сум мар но го ин -
дек са. Здесь мы ис поль зу ем цикл for():
finalUSind$f6_min <- 0
for (i in 184:203) {
min <- finalUSind[i] == “Не интересует”
finalUSind$f6_min <- finalUSind$f6_min + min
}
finalUSind$f6_sum <- finalUSind$f6_sum -- finalUSind$f6_min*2
finalUSind$f6_min <- NULL
Пер вая ко ман да в теле цик ла со зда ет на бор зна че ний, со сто я щих из
TRUE (ис ти на), если зна че ние пе ре мен ной рав но че ты рем, и FALSE (ложь),
если нет. Пос коль ку ис ти на в ма те ма ти чес ких опе ра ци ях при ни ма ет ся за
еди ни цу, а ложь — за ноль, лег ко по счи тать ко ли чес тво чет ве рок по каж до му
рес пон ден ту (для это го ис поль зу ет ся пе ре мен ная f6_min). Пос лед няя стро -
ка син так си са уда ля ет счет чик чет ве рок, по сколь ку для даль ней шей ра бо ты
он не ну жен.
Ра бо та с про пу щен ны ми зна че ни я ми
Мно гие пе ре мен ные (а в со ци о ло ги чес ких ис сле до ва ни ях, осно вы ва ю -
щих ся на мас со вых опро сах, они не ред ко со став ля ют боль ши нство) име ют
про пу щен ные зна че ния. Пос лед ние ве дут к сни же нию ста тис ти чес кой мощ -
нос ти, а так же мо гут быть при чи ной сис те ма ти чес ких оши бок [Бос лаф,
2015: с. 450].
Обра бот ка про пу щен ных зна че ний яв ля ет ся дос та точ но раз ви той ис -
сле до ва те льской об лас тью с об щеп ри ня той тер ми но ло ги ей и мно жес твом
ре ше ний для раз лич ных дис цип лин и кон крет ных ис сле до ва ний. С по пыт -
кой ши ро ко го об об ще ния основ об ра бот ки про пу щен ных дан ных в со ци аль -
ных на уках мож но озна ко мить ся, на при мер, в ра бо те Да ни э ля Нью ма на
[Newman, 2014]. В рам ках же дан ной статьи мы об ра тим ся к глав ным по ня -
ти ям этой те о рии, а так же основ ным ме то дам ре ше ния про бле мы про пу -
щен ных значений.
При ня то вы де лять три вида про пус ков — по лнос тью слу чай ные, слу -
чай ные и не слу чай ные. Дан ная тер ми но ло гия ве дет свое на ча ло от из вес -
тной ра бо ты До наль да Ру би на [Rubin, 1976]. Пол нос тью слу чай ные про пус -
ки (ПСП-до пу ще ние) име ют мес то в тех слу ча ях, ког да под вы бор ка име ю -
щих ся зна че ний по пе ре мен ной(-ым), под ле жа щей(-им) из уче нию, по-
преж нему яв ля ет ся мо делью ге не раль ной со во куп нос ти. При ме ром мо жет
слу жить слу чай, ког да про пус ки по не ко то рой пе ре мен ной (на при мер, по -
ли ти чес кие пред поч те ния) не за ви сят от зна че ний пе ре мен ных-пред ик то -
ров (на при мер, пол, воз раст, ре ги он про жи ва ния и т.д.), а так же от зна че ний
са мих про пус ков (на при мер, не воз ни ка ет си ту а ции, ког да рес пон ден ты с
опре де лен ной по ли ти чес кой по зи ци ей чаще дру гих не дают от ве та на со от -
Со ци о ло гия: те о рия, ме то ды, мар ке тинг, 2015, 3 139
Сов ре мен ные тех ни ки управ ле ния дан ны ми со ци о ло ги чес ких ис сле до ва ний
ве тству ю щий воп рос). Вы бор мо де ли по лнос тью слу чай ных про пус ков —
еди нствен ное до пу ще ние, ко то рое мож но про ве рить эм пи ри чес ки. Что ка -
са ет ся слу чай ных и не слу чай ных про пус ков, со от ве тству ю щие до пу ще ния
не воз мож но про ве рить на осно ва нии имеющегося массива.
При слу чай ных про пус ках (СП-до пу ще ние) их зна че ния за ви сят от зна -
че ний пе ре мен ных-пред ик то ров и не за ви сят от со бствен ных зна че ний про -
пус ков. Так, если про пус ки в от ве тах на воп рос о по ли ти чес ких пред поч те -
ни ях чаще встре ча ют ся сре ди лю дей стар ше го воз рас та (но внут ри этой
груп пы они рас пре де ле ны слу чай но), то речь идет о слу чай ных про пус ках. В
этом слу чае воз ни ка ет ве ро ят ность сме ще ния ре зуль та тов оце ни ва ния па -
ра мет ров по вы бор ке в це лом (если зна че ние по со от ве тству ю щей под груп -
пе от ли ча ет ся от об ще го среднего).
Если же ве ро ят ность про пус ков по опре де лен ным пе ре мен ным за ви сит
от ве ли чи ны са мих про пу щен ных зна че ний по этим пе ре мен ным, то го во рят
о не слу чай ных про пус ках (НП-до пу ще ние). Нап ри мер, люди с ле вы ми по -
ли ти чес ки ми взгля да ми с мень шей ве ро ят нос тью (чис то ги по те ти чес кое
до пу ще ние) склон ны со об щать со от ве тству ю щую ин фор ма цию. Та кие про -
пус ки вно сят сис те ма ти чес кие ошиб ки в ре зуль та ты анализа.
Ме то ды об ра бот ки про пу щен ных зна че ний раз де ля ют на тра ди ци он ные
и со вре мен ные. К пер вым от но сят по строч ное и по пар ное уда ле ние на блю де -
ний, за ме ще ние сред ним и за ме ще ние с ис поль зо ва ни ем рег рес сии. Ко вто -
рым — за ме ще ние по сре дством оцен ки мак си маль но го прав до по до бия, мно -
жес твен ное за ме ще ние, се лек тив ную мо дель и мо дель сме шан ных пат тер нов.
При по строч ном уда ле нии из мас си ва ис клю ча ют ся лю бые на блю де -
ния, в зна че ни ях пе ре мен ных ко то рых при су тству ет хотя бы один про пуск.
Та кой под ход мо жет ис поль зо вать ся толь ко при ПСП-до пу ще нии. Но даже
в та кой си ту а ции его ис поль зо ва ние ве дет к сни же нию ста тис ти чес кой
мощ нос ти.
Как и в слу чае по строч но го уда ле ния, по пар ное уда ле ние под хо дит ис -
клю чи тель но при ПСП-до пу ще нии. По пар ное уда ле ние за клю ча ет ся в том,
что в каж дом кон крет ном слу чае ана ли за из него уда ля ют ся толь ко те на блю -
де ния, в ко то рых при су тству ет хотя бы один про пуск по ре ле ван тным для
дан но го ана ли за пе ре мен ным. Как и в слу чае по строч но го уда ле ния, оно под -
хо дит ис клю чи тель но при ПСП-до пу ще нии. Тем са мым со зда ет ся до пол ни -
тель ная про бле ма, за клю ча ю ща я ся в ис поль зо ва нии от ли ча ю щих ся вы бо рок
в рам ках про вер ки раз лич ных ги по тез од но го ис сле до ва те льско го про ек та.
Исполь зо ва ние за ме ще ния про пу щен ных зна че ний вы бо роч ным сред -
ним не ре ко мен ду ет ся в лю бом слу чае. Это свя за но с тем, что та кой спо соб об -
ра бот ки про пус ков ве дет к сме щен ным оцен кам (по сколь ку умень ша ет дис -
пер сию пе ре мен ных и ко ва ри а цию меж ду ними), не за ви си мо от ис поль зу е -
мо го до пу ще ния. Исклю че ни ем яв ля ет ся оцен ка са мо го сред не го зна че ния.
За ме ще ние с ис поль зо ва ни ем рег рес сии (вмес то про пу щен ных ис поль -
зу ют ся пред ска зан ные зна че ния) об услов ли вает схо жие с пред ы ду щим спо -
со бом про бле мы. Так, по лу ча е мые зна че ния по па да ют в один пат терн, от ве -
ча ю щий рег рес си он ной пря мой, что вно сит сме ще ние как в смыс ле дис пер -
сии, так и в смыс ле ко ва ри а ции. Час тич но эта про бле ма мо жет быть ре ше на
по сре дством до бав ле ния слу чай ных оста точ ных зна че ний к пред ска зан ным
ве ли чи нам. В це лом же дан ный спо соб за ме ще ния под хо дит при СП-до пу -
ще нии [Peugh, 2004; Cheema, 2014].
140 Со ци о ло гия: те о рия, ме то ды, мар ке тинг, 2015, 3
Сер гей Дем биц кий, Тать я на Лю би вая
За ме ще ние по сре дством оцен ки мак си маль но го прав до по до бия пред -
став ля ет со бой ите ра ци он ный про цесс, каж дая ите ра ция ко то ро го вклю ча ет
два эта па: 1) сред ние зна че ния пе ре мен ных и ко ва ри а ци он ная мат ри ца ис -
поль зу ют ся для рас че та рег рес си он ных урав не ний, пред ска зы ва ю щих про -
пу щен ные зна че ния; 2) по лу чен ный мас сив ис поль зу ет ся для рас че та об -
нов лен ных сред них зна че ний и ко ва ри а ци он ной мат ри цы. Эти эта пы по вто -
ря ют ся до тех пор, пока сред ние зна че ния и ко ва ри а ци он ная мат ри ца не пе -
ре ста нут из ме нять ся. Мож но ска зать, что в дан ном слу чае ис поль зу ет ся по -
сле до ва тель ный подход.
В слу чае мно жес твен но го за ме ще ния со зда ет ся на бор аль тер на тив ных
мас си вов дан ных (от пяти и бо лее), в ко то рых про пу щен ные зна че ния за ме -
ща ют ся пред ска зан ны ми по сре дством рег рес сии с до бав ле ни ем слу чай но го
эле мен та. Пос ле это го сред ние зна че ния пе ре мен ных и ко ва ри а ци он ные
мат ри цы об об ща ют ся с целью по лу че ния ито го вой оцен ки. Этот под ход
мож но на звать кон ку рен тным.
Как за ме ще ние по сре дством мак си маль но го прав до по до бия, так и мно -
жес твен ные за ме ще ния под хо дят для си ту а ций, в ко то рых ис сле до ва тель ис -
хо дит из ПСП- или СП-до пу ще ний. Для слу ча ев, ког да де ла ет ся НП-до пу ще -
ние, пред наз на че ны се лек тив ная мо дель и мо дель сме шан ных пат тер нов.
Се лек тив ная мо дель со е ди ня ет основ ное рег рес си он ное урав не ние с до -
пол ни тель ным рег рес си он ным урав не ни ем, пред ска зы ва ю щим ве ро ят ность
от ве тов. Две час ти мо де ли свя зы ва ют ся по сре дством скор ре ли ро ван ных
остат ков (correlated residuals), и эта связь яв ля ет ся ме ха низ мом, с по мощью
ко то ро го кор рек ти ру ют ся сме ще ния мо де ли, свя зан ные с про пус ка ми.
Мо дель сме шан ных пат тер нов пред по ла га ет фор ми ро ва ние под групп на -
блю де ний, в ко то рых об на ру жи ва ют ся оди на ко вые пат тер ны про пус ков дан -
ных, с даль ней шей оцен кой ин те ре су ю щих па ра мет ров в каж дой под груп пе.
Пос ле это го на хо дит ся сред нев зве шен ная оцен ка дан ных па ра мет ров.
В от ли чие от со вре мен ных ме то дов об ра бот ки про пу щен ных зна че ний
при ПСП- или СП-до пу ще ни ях, ме то ды об ра бот ки при НП-до пу ще нии не
по лу чи ли дос та точ но ши ро ко го при зна ния [Enders, 2010: p. 56–328].
Обзор тех ник ра бо ты с про пу щен ны ми дан ны ми в R сде лан в ра бо те Ро -
бер та Ка ба ко ва [Ка ба ков, 2014: с. 472–498]. Здесь мы кос нем ся лишь не ко -
то рых из них. В ка чес тве при ме ра про а на ли зи ру ем про пус ки в пе ре мен ной
про до ход рес пон ден та.
Преж де все го не об хо ди мо из учить струк ту ру про пус ков в со от но ше нии
с дру ги ми пе ре мен ны ми мас си ва (пол, воз раст, се мей ный ста тус, об ра зо ва -
ние, об щая оцен ка ма те ри аль но го со сто я ния семьи). Для это го ис поль зу ем
функ цию md.pattern() биб ли о те ки mice:
md.pattern(na.data)
Ре зуль тат бу дет иметь сле ду ю щий вид:
age gender education wealth marit.s income
14600 1 1 1 1 1 1 0
1360 1 1 1 1 1 0 1
38 1 1 1 0 1 1 1
6 1 0 1 1 1 1 1
1 0 1 1 1 1 1 1
127 1 1 1 1 0 1 1
Со ци о ло гия: те о рия, ме то ды, мар ке тинг, 2015, 3 141
Сов ре мен ные тех ни ки управ ле ния дан ны ми со ци о ло ги чес ких ис сле до ва ний
30 1 1 0 1 1 1 1
21 1 1 1 0 1 0 2
1 1 0 1 1 1 0 2
9 1 1 1 1 0 0 2
1 1 1 1 0 0 1 2
2 1 1 0 1 1 0 2
1 0 1 0 1 1 1 2
1 1 1 0 1 0 1 2
1 1 1 1 0 0 0 3
1 1 1 0 0 1 0 3
2 7 35 62 139 1395 1640
Пер вый стол бец по ка зы ва ет об щее ко ли чес тво на блю де ний, со от ве т -
ству ю щих пат тер нам, пред став лен ным в стро ках под на зва ни я ми пе ре мен -
ных мас си ва, то есть на чи ная со вто рой стро ки и ниже. Сами пат тер ны чи та -
ют ся сле ду ю щим об ра зом: нули го во рят, что по этой пе ре мен ной на блю де -
ние имеет про пуск, еди ни цы — про пус ка нет. За вер ша ю щий стол бец по ка -
зы ва ет об щее ко ли чес тво про пус ков у каж до го та ко го на блю де ния. Сле до -
ва тель но, 14 600 на блю де ний мас си ва не име ют про пус ков (под все ми пе ре -
мен ны ми сто ит еди ни ца, за вер ша ю щий стол бец ра вен нулю); 1360 на блю -
де ний име ют про пуск по пе ре мен ной “до ход” (income) и т.д. В по след ней
стро ке по ка за но об щее ко ли чес тво про пус ков по каж дой пе ре мен ной и об -
щее ко ли чес тво про пус ков по все му мас си ву (сум мар ное зна че ние за вер ша -
ю ще го стол бца).
Альтернативным спо со бом пред став ле ния тех же са мых дан ных яв ля ет -
ся по стро е ние спе ци аль ной ди аг рам мы с по мощью функ ции aggr() биб ли о -
те ки VIM (см. рис. 4):
aggr(na.data, prop=FALSE, numbers=TRUE)
Рис. 4. Ди аг рам ма про пус ков, по стро ен ная с по мощью функ ции aggr()
142 Со ци о ло гия: те о рия, ме то ды, мар ке тинг, 2015, 3
Сер гей Дем биц кий, Тать я на Лю би вая
Co
m
bi
na
ti
on
s
N
um
be
r o
f m
is
si
ng
s
in
co
m
e
w
ea
lt
h
ge
nd
er
ag
e
m
ar
it
.s
ed
uc
at
io
n
in
co
m
e
w
ea
lt
h
ge
nd
er
ag
e
m
ar
it
.s
ed
uc
at
io
n
12
00
10
00
80
0
60
0
40
0
20
0
0
1
1
1
1
1
1
1
2
6
9
21
30
38
127
1360
14600
Как вид но, основ ная часть про пус ков со дер жит ся имен но в пе ре мен ной
про до хо ды рес пон ден та. Вмес те с тем про пус ки по этой пе ре мен ной дос та -
точ но ред ко встре ча ют ся со вмес тно с про пус ка ми по дру гим пе ре мен ным
(если бы та кие си ту а ции при су тство ва ли, их сле до ва ло бы из учить до пол -
ни тель но).
Да лее сле ду ет про ве рить, свя за но ли рас пре де ле ние про пус ков для пе -
ре мен ной о до хо дах с рас пре де ле ни я ми зна че ний дру гих пе ре мен ных. Для
это го со зда ет ся но вая пе ре мен ная, со дер жа щая еди ни цы для от су тству ю -
щих дан ных по пе ре мен ной “income” и нули для на блю де ний с от ве та ми. Да -
лее на й дем силу свя зи меж ду по лу чен ной пе ре мен ной и дру ги ми пе ре мен -
ны ми мас си ва:
na.data$income.na <- abs(is.na(na.data$income))
round(cor(na.data[c(4,7)], use=”pairwise.complete.obs"),2)
age income.na
age 1.00 –0.17
income.na –0.17 1.00
special.table <- function(x) prop.table(table(x, na.data$income.na),1)
na.tables <- lapply(na.data[-c(1,4,7)], special.table)
for (i in c(“wealth”,"gender","marit.s","education")) {
print(round(na.tables[[i]],2))
}
x 0 1
Ни щен ское 0.94 0.06
Бед ное 0.93 0.07
Сред нее 0.90 0.10
За жи точ ное 0.83 0.171
x 0 1
Муж ской 0.91 0.09
Жен ский 0.92 0.08
x 0 1
Ни ког да не был (-а) в бра ке 0.86 0.14
Сос тою в бра ке 0.91 0.09
Раз ве ден, раз ошел ся 0.92 0.08
Вдо вец (вдо ва) 0.98 0.02
x 0 1
На чаль ное, не пол ное сред нее 0.94 0.06
Сред нее об щее 0.89 0.11
Сред нее спе ци аль ное 0.91 0.09
Пер вая ступень вы сше го об ра зо ва ния 0.92 0.08
Пол ное вы сшее об ра зо ва ние 0.92 0.08
Со ци о ло гия: те о рия, ме то ды, мар ке тинг, 2015, 3 143
Сов ре мен ные тех ни ки управ ле ния дан ны ми со ци о ло ги чес ких ис сле до ва ний
1 Из пред став лен ных ре зуль та тов ис клю че на ка те го рия “Бо га тое”, по сколь ку со от ве т -
ству ю щая груп па рес пон ден тов пред ель но мала, а их от ве ты про до хо ды сви де т ельству -
ют о край не скром ном фи нан со вом по ло же нии.
Крат ко оста но вим ся на син так си се. В пер вой стро ке с по мощью функ -
ций is.na() и abs() воз вра ща ют ся еди ни цы для про пус ков и нули для име ю -
щих ся зна че ний, а ре зуль та ты за пи сы ва ют ся в пе ре мен ную “income.na”. Во
вто рой стро ке с по мощью функ ции cor() под счи ты ва ет ся ко эф фи ци ент кор -
ре ля ции Пир со на для по лу чен ной пе ре мен ной и воз рас та (rs = 0,17). Соот -
вет ствующие ре зуль та ты округ ля ют ся с по мощью функ ции round().
Да лее со зда ет ся спе ци аль ная функ ция special.table(), пред наз на чен ная
для по стро е ния таб лиц со пря жен нос ти меж ду пе ре мен ной “income.na” и ка -
те го ри аль ны ми пе ре мен ны ми мас си ва. Пос ле это го с по мощью функ ции
lapply() со зда ют ся и за пи сы ва ют ся в спи сок na.tables со от ве тству ю щие таб -
ли цы. В за вер ше ние с по мощью цик ла for() таб ли цы вы во дят ся на кон соль.
Мы не слу чай но вы бра ли таб ли цы со пря жен нос ти для ка те го ри аль ных
пе ре мен ных — они от чет ли вее по ка зы ва ют име ю щу ю ся вза и мос вязь по
срав не нию с ко эф фи ци ен та ми, рас счи ты ва е мы ми для таб лич ных дан ных.
Как вид но, ма те ри аль ное со сто я ние и се мей ный ста тус вли я ют на ве ро ят -
ность не от ве та на воп рос о до хо дах (мож но было бы ис поль зо вать кри те рий
не за ви си мос ти χ2 для про вер ки зна чи мос ти, но на та ких боль ших вы бор ках
он те ря ет свою ин фор ма тив ность). Так же су щес тву ет сла бая вза и мос вязь
меж ду не от ве та ми и воз рас том. Эти ре зуль та ты пред остав ля ют боль ше сви -
де тельств для вы бо ра СП-, а не ПСП-до пу ще ния. Ко неч но же, в дан ном слу -
чае вы со ка ве ро ят ность НП-до пу ще ния, по сколь ку речь идет о та кой чу -
встви тель ной теме, как за ра бо ток (об этом го во рит и со от ве тству ю щая таб -
ли ца со пря жен нос ти).
Да лее пред став ле но толь ко ис поль зо ва ние мно жес твен но го за ме ще ния
(на слу чай при ня тия СП-до пу ще ния), по сколь ку ме то ды об ра бот ки про -
пус ков при НП-до пу ще нии в R, как и в дру гих ста тис ти чес ких па ке тах, не
ре а ли зо ва ны, а со от ве тству ю щая за да ча в рам ках дан ной статьи пе ред нами
не сто ит.
Для де мо нстра ции мно жес твен но го за ме ще ния мы при ме ни ли под ход,
ре а ли зо ван ный в биб ли о те ке mice. Он со сто ит из трех эта пов: 1) с по мощью
функ ции mice() мо де ли ру ет ся на бор мас си вов для тех зна че ний, ко то рые
про пу ще ны (по умол ча нию та ких мас си вов пять); 2) с по мощью функ ции
with() к каж до му из по лу чен ных на пред ы ду щем эта пе мас си вов, со вме щен -
но му с основ ным мас си вом, при ме ня ет ся не об хо ди мый ста тис ти чес кий ме -
тод (на при мер, ли ней ная рег рес сия); 3) с по мощью функ ции pool() объе ди -
ня ют ся ре зуль та ты, по лу чен ные для каж до го из мас си вов на пред ы ду щем
эта пе. Да лее при ве ден толь ко со от ве тству ю щий син так сис без са мих ре -
зуль та тов (ре зуль та том в дан ном слу чае бу дет при выч ная свод ка на осно ва -
нии ли ней ной рег рес сии):
mice.data <- mice(na.data)
fit <- with(mice.data, lm(income ~ wealth))
pooled <- pool(fit)
summary(pooled)
На ко нец, не об хо ди мо ска зать о ре а ли за ции в R по строч но го и по пар но -
го уда ле ния на блю де ний из ана ли за, при год ных при при ня тии ПСП-до пу -
ще ния и не боль шой доле са мих про пус ков (ме нее 10%). Пос троч ное уда ле -
ние мож но вы пол нить с по мощью функ ции complete.cases() или na.omit():
144 Со ци о ло гия: те о рия, ме то ды, мар ке тинг, 2015, 3
Сер гей Дем биц кий, Тать я на Лю би вая
final.na.data <- na.data[complete.cases(na.data),]
final.na.data <- na.omit(na.data)
Что ка са ет ся по пар но го уда ле ния, то воз мож ность его ис поль зо ва ния
об ыч но за ло же на в инстру мен та рий са мих функ ций. Нап ри мер, чуть ра нее
в этой статье была ис поль зо ва на сле ду ю щая ко ман да:
cor(na.data[c(4,7)], use="pairwise.complete.obs")
В дан ном слу чае ар гу мент “use” от ве ча ет за спе ци фи ку об ра бот ки про -
пу щен ных зна че ний, а его ва ри ант “pairwise.complete.obs” об ес пе чи ва ет по -
пар ное уда ле ние. Со от ве тствен но, при не об хо ди мос ти осу ще ствле ния по -
пар но го уда ле ния про пус ков в рам ках ис поль зо ва ния кон крет но го ста тис -
ти чес ко го ме то да в R сле ду ет пра виль но скон фи гу ри ро вать от ве ча ю щий за
это ар гу мент. Что бы узнать, как это сде лать, сле ду ет об ра тить ся к со от ве т -
ству ю щей до ку мен та ции.
Зак лю че ние
На со вре мен ном эта пе раз ви тия того, что при ня то на зы вать “на укой о
дан ных” (Data Science)1, мно гие инстру мен ты управ ле ния (дан ны ми) пе ре -
хо дят из ка те го рии ма ло из вес тных и ма ло ис поль зу е мых в ка те го рию об я за -
тель ных к при ме не нию, не за ви си мо от сфе ры де я тель нос ти уче но го. Это
пре жде все го свя за но с раз ви ти ем про грам мных средств ре а ли за ции та ких
инстру мен тов. И если ис поль зо ва ние в об щем виде раз лич ных под хо дов
управ ле ния дан ны ми в кон тек сте при ме не ния воз мож нос тей со вре мен ных
язы ков про грам ми ро ва ния не вы дви га ет на дан ном эта пе не раз ре ши мых
про блем (час тич но это под твер жда ет ся и со дер жа ни ем дан ной статьи), то
из уче ние спе ци фи ки раз лич ных ти пов со ци о ло ги чес ко го ис сле до ва ния с
целью раз ра бот ки про грам мных ре ше ний яв ля ет ся од ной из при ори тет ных
за дач со вре мен ной эм пи ри чес кой социологии.
Источ ни ки
Бос лаф С. Ста тис ти ка для всех / Сара Бос лаф. — М. : ДМК Пресс, 2015. — 586 с.
Го ло ва ха Е. Интег раль ный ин декс со ци аль но го са мо чу вствия (ИИСС): ко нстру и ро -
ва ние и при ме не ние со ци о ло ги чес ко го тес та в мас со вых опро сах / Евге ний Го ло ва ха,
На та лия Па ни на. — К. : Ин-т со ци о ло гии НАН Укра и ны, 1997. — 64 с.
Дем биц кий С. Су щес тву ет ли “опас ная зона” в Data Science? [Элек трон ный ре сурс] /
Сер гей Дем биц кий. — Ре жим дос ту па :
http://soc-research.info/blog/index_files/danger_zone.html.
Ка ба ков Р. R в де йствии / Ро берт Ка ба ков. — М. : ДМК Пресс, 2014. — 580 с.
Ши пу нов А. Наг ляд ная ста тис ти ка. Исполь зу ем R! / Алексей Ши пу нов, Евге ний
Бал дин, По ли на Вол ко ва, Антон Ко ро бей ни ков, Со фия На за ро ва, Сер гей Пет ров, Ва -
дим Су фи я нов. — М. : ДМК Пресс, 2012. — 298 с.
Со ци о ло гия: те о рия, ме то ды, мар ке тинг, 2015, 3 145
Сов ре мен ные тех ни ки управ ле ния дан ны ми со ци о ло ги чес ких ис сле до ва ний
1 Хотя, по мне нию од но го из ав то ров дан ной статьи (Сер гея Дем биц ко го), сле ду ет го -
во рить не о Data Science, а о Data Toolkit, то есть об инстру мен та рии по ра бо те с дан ны ми
(подр. см.: [Дем биц кий, s.a.]).
Beaver M. Survey Data Cleaning Guidelines: SPSS and Stata (Working Paper) [Elect ro -
nic resource] / Margaret Beaver. — Access mode :
http://ageconsearch.umn.edu/bitstream/123553/2/idwp123.pdf.
Cheema J. A Review of Missing Data Handling Methods in Education Research /
Jehanzeb Cheema // Review of Educational Research. — 2014. — № 4. — P. 487–508.
Enders C. Applied Missing Data Analysis / Craig Enders. — New York ; London : The
Guilford Press, 2010. — 377 p.
Leek J. Getting and Cleaning Data [Electronic resource] / Jeff Leek, Roger Peng, Brian
Caffo. — Access mode: https://www.coursera.org/course/getdata.
Newman D. Missing Data: Five Practical Guidelines / Daniel Newman // Organizational
Research Methods. — 2014. — № 4. — P. 372–411.
Peugh J. Missing Data in Educational Research: A Review of Reporting Practices and
Suggestions for Improvement / James Peugh, Craig Enders // Review of Educational Re -
search. — 2004. — № 4. — P. 525–556.
146 Со ци о ло гия: те о рия, ме то ды, мар ке тинг, 2015, 3
Сер гей Дем биц кий, Тать я на Лю би вая
|