Чтобы разобраться с тем, как устроен двухфакторный дисперсионный анализ, давайте погрузимся в психологию человеческого поведения. Люди в целом склонны к альтруистическому поведению, они склонны делиться материальными благами даже с мало знакомыми людьми. Но что интересно? Они гораздо добрее по отношению к людям, которых могут узнать. Это называется эффект идентифицируемой жертвы. Представьте себе два варианта новости. В дорожно-транспортном происшествии в районе таких то и таких то улиц погибло 5 человек, еще сколько-то человек находится в тяжелом состоянии в больнице требуется кровь. И второй вариант той же самой новости. По такому-то адресу произошло происшествие транспортное, столько-то человек погибло, несколько человек в тяжелом состоянии, среди них студентка такого-то курса, такая-то, такая-то, тут же ее фотография и кто-то там еще, несколько узнаваемых людей, требуется кровь. На какое из объявлений люди с большей готовностью откликнуться. Они откликнуться на объявление в котором была узнаваемая жертва, потому что это не какие-то люди вообще, это какой-то конкретный человек, с ним себя гораздо легче идентифицировать. На самом деле, на готовность людей к альтруистическому поведению влияет довольно много факторов. Влияет то, насколько человек хочет чувствовать себя хорошим, насколько ему вот этот вот акт альтруизма помогает улучшить имидж себя в своих собственных глазах, насколько вообще есть кто-то другой, кто может помочь в этой ситуации, потому что люди гораздо чаще помогают, когда некому кроме них помочь, они чувствуют, что они должны. Ну и конечно социальный контекст, в котором происходит вот этот акт альтруизма, он тоже влияет на готовность помочь. Например, известно, что люди в целом более склонны помогать людям, которые относятся к той же самой социальной группе, что и они. Представьте себе то же самое объявление, но только вместо студентки какого-то колледжа оказалась дочь какого-нибудь певца известного. Вряд ли ей столько же народу поможет, потому что, ну то есть скорее всего ей помогут те, кто относятся к той же самой социальной группе что и она. Такой возможен эффект. И конечно же, чтобы изучать все это хитрое сплетение факторов, которые влияют на готовность человека к альтруистическому поведению нам нужна какая-то модельная система. И эта модельная система в психологии есть. Это так называемая игра "Диктатор", которую когда-то давным давно придумали классики и с тех пор ее довольно много раз изменяли, но вот она в каком-то виде до нас дошла. Собственно как выглядит эта игра? В игре принимают участие два человека, но играет на самом деле один из них. Один человек диктатор так называемый, он получает определенную сумму денег и он должен решить что он будет с этими деньгами делать, поделится ли он со своим партнером. То количество, которое он отдал партнеру, партнер заберет в конце игры. То количество, которое он оставил себе он заберет в конце игры, то есть он фактически решает, кто сколько денег получит. Рациональная стратегия в такой игре, то есть если бы игрок был бездушной машиной, чтобы выиграть, чтобы максимизировать свой выигрыш он должен просто оставить все деньги себе. Но люди иррациональны, поэтому они делятся теми деньгами которые получает в игре диктатор и насколько сильно они делятся мы можем измерить, мы просто можем посчитать выплаты и мы можем легко манипулировать разными социальными контекстамм и психологическими контекстами, которые влияют на поведение. Игру диктатор довольно легко поместить в социальный контекст. Давайте попробуем выяснить как влияет на степень альтруизма возможность узнавания партнера, то есть, вот тот самый эффект идентифицируемой жертвы. Мы должны на него делать какую-то коррекцию и будет ли разной степень альтруизма по отношению к своим и к чужим. Собственно в эксперименте, о котором пойдет речь у всех участников разделили на две группы, на так называемую желтую группу и так называемую синюю группу. Всем им сказали, что деление на группы делали по результатам какого-то теста их художественных предпочтений, но на самом деле разделение на группы было случайным, но тем не менее люди в желтой группе думали, что они имеют что-то общее друг с другом и люди в синей группе думали то же самое. Но вот этот вот эффект сплоченности группы, его нужно было каким то образом усилить. И для того, чтобы группы стали чувствовать себя дружнее, каждая из них выполнила совместное творческое задание соревнуясь с другой группой. И вот собственно у нас подготовленные участники эксперимента. Перед началом эксперимента всех участников перенумеровали и потом они в замкнутом помещении изолированном от других участников тянули жребий. Те участники, которым выпало быть диктатором, они получали конверт в котором было 11 монет и описание одной из игровых ситуаций, например, там могло быть написано: в качестве вашего партнера в игре "Диктатор", вы диктатор, но в качестве вашего партнера в игре "Диктатор" был выбран человек с номером таким-то из желтой команды. Если сам диктатор был из желтой команды, то эта ситуация где игрок свой и поскольку был указан номер партнера, то эта ситуация, когда возможна идентификация партнера. Или, например, могло быть написано, что: вы диктатор и для того, чтобы с вами играть выбран человек из синей команды, но номер его мы определим потом, после того как вы сделайте свой выбор о размере выплат. И это ситуация, когда у нас партнер из чужой команды и возможности идентификации нет. На самом деле оставшиеся две ситуации тоже были в этих листках со жребием и после этого всего лишь нужно было зарегистрировать сколько монет этот самый диктатор будет готов выплатить своему партнеру. Данные о которых, с которыми мы сейчас будем работать, они находятся в файле с не очень понятным и длинным названием. Название абсолютно такое же как оно было на сайте журнала, с которого мы его взяли. Собственно вы можете найти эту статью в интернете и почитать более подробно об этом исследовании, а пока что давайте посмотрим внимательно на имя этого файла. Имя этого файла кончается на sav, то есть это файл в формате программы spss. И такие файлы конечно в r тоже можно прочесть, но для этого нам понадобится пакет, с которого мы не работали пока еще, в пакет который называется foreign. Инсталлируйте его и активируйте, тогда вам станет доступна функция read точка spss, которая позволяет читать данные в формате sav. Собственно, мы их положим в объект в переменную dat и быстренько посмотрим есть ли там пропущенные значения. На самом деле какие-то пропущенные значения есть вот у некоторых переменных есть по одному пропущенному значению и в этом файле с данными содержится информация не только о диктаторах. На самом деле там много лишнего, что нам сейчас не нужно. Нам нужно отфильтровать ровно те данные, которые касаются этого эксперимента и с которыми мы будем дальше работать. Итак, нас интересуют только диктаторы, которые распоряжались с деньгами. Это значит, что переменная player должна принимать значение 1. Нам важно отобрать только тех людей, которые участвовали в исследовании до конца и не были выбракованы по каким-то разным соображениям исследователями потом. То есть нам нужно взять только тех у кого переменная filter принимает значение 1. И наконец нас интересуют только те диктаторы, которые закончили игру. Т.е. распорядились фактически деньгами, а не сказали, что нет мне неинтересно, я не могу решить. Соответственно нас интересуют те люди, у которых записана сумма, которую они своему партнеру отдадут в переменной will_giv. Там записаны число, там нет пропущенного значения. Соответственно ориентируясь на эти критерии мы можем отфильтровать наш исходный dataframe и положить получившееся dataset получившийся более короткий dataset в переменную dict, с которой мы будем работать. Это и есть те данные, которые мы будем использовать в этом модуле. Давайте посмотрим на них чуть более внимательно. Во-первых, посмотрим на структуру этих данных, видно, что там много разных переменных и часть этих переменных она закодирована числами. Например, явно пол это переменная, где записано мужчина это или женщина. Но мы тут видим числовые обозначение 2 и 1. Нужно превратить эту переменную в фактор, мы это легко сделаем при помощи функции фактора и перезапишем переменную gender в исходном dataset. Так, теперь те факторы, которые собственно нас интересуют в этом исследовании, это фактор identifi это возможность идентифицировать партнера. Здесь исходное значение 0 и 1 и на самом деле 0 означает, что партнера нельзя было идентифицировать, то есть не был известен его номер заранее и единица обозначает, что партнера можно было идентифицировать. Мы легко можем восстановить эти этикетки для уровней фактора, если зададим аргумент labels в функции факта и аналогичным образом мы поступим с оставшимся фактором. Это фактор, который описывает свой или чужой был партнер из своей группы или из чужой. Соответственно, если в переменной in нижнее подчеркивание out записана единица, то партнер относился к своей группе, к той же самой группе что и диктатор. И если в переменной in_out исходно был записан ноль, то это значит, что партнер относился к чужой группе, не к той группе что и диктатор. Итак, собственно все черновые действия мы уже совершили, можем дальше знакомиться с данными. Давайте попробуем посчитать какой объем выборки и сбалансирована ли эта выборка по полу, то есть одинаковое ли количество мужчин и женщин участвовали в этом исследовании. Если мы при помощи функции table это посчитаем, то мы выясним, что мужчин было немного больше чем женщин, ну так примерно сбалансированы 20, 17 довольно похожие числа. И как насчет сбалансированности по нашим факторам свой-чужой и возможности идентификации тут немножко похуже, потому что в итоге тех, кто относился к своей группе оказалось немножко больше, чем тех, которые относились к чужой группе, ну тоже все примерно сбалансировано. Но нет строгого баланса. То есть вы видите, что эти числа не равны. То есть на самом деле мы работаем с не сбалансированными данными и с такими данными работать довольно сложно, при анализе их возникает ряд проблем о которых мы немного позже поговорим. И последняя вещь, которую нам нужно сделать при разведочном анализе давайте попробуем подглядеть немножко в данные, посмотреть как они выглядят и построим для этого график. Загружаем пакет ggplot активируем, устанавливаем любимую тему и попробуем построить график как традиционный для дисперсионного анализа график средних и их доверительных интервалов. Данные мы берем из dataframe dict. По оси х давайте попробуем отложить фактор свой чужой. По оси y мы отложим собственно размер выплаты, сколько монет из 11 диктатор отдал своему партнеру в итоге. И второй фактор дискретный, мы обозначим цветом, то есть возможности идентификации обозначим цветом. Красные точки, это когда номер партнера был известен заранее, а синие точки, это когда номер партнера был определен после того, как игра диктатор завершилась. stat_summary нам построит как раз график средних и их доверительных интервалов. И вы наверное уже видите, что если мы объединим точки одного цвета линиями, эти линии будут пересекаться и это нам показывает, что в этом двухфакторном анализе будет взаимодействие факторов. То есть влияние идентифицируемости жертвы оно разное для своих и для чужих.