Как проверить взаимодействие (разницу между отличиями), используя контрасты в R
Я хотел бы выяснить, является ли разница между средним двух переменных больше / меньше, чем разница между средним двух разных переменных.
У меня есть полностью скрещенный дизайн 4 на 4 с двоичной зависимой переменной, которую я смоделировал с помощью обобщенной линейной модели со смешанным эффектом (используя функцию логарифмической связи) со случайными перехватами между субъектами и побочными элементами с использованием lme4.
Первая переменная (Персонаж) имеет уровни: чрезвычайно хороший персонаж, слегка хороший персонаж, чрезвычайно плохой персонаж и слегка плохой персонаж
Вторая переменная (Outcome) имеет уровни: чрезвычайно хороший результат, умеренно хороший результат, чрезвычайно плохой результат и слегка плохой результат.
Участники сделали вынужденный выбор: да / нет, решение о том, заслуживают ли персонажи несколько результатов. Я кодировал ответы "да" как 1, а ответы "нет" как 0. Таким образом, модель прогнозировала долю участников, которые оценили результат как заслуженный. Более высокие пропорции представляют более высокую долю участников, оценивающих результат как заслуженный для типа персонажа.
Было 8 пунктов в каждом условии персонажа-результата (например, 8 пунктов, где чрезвычайно хороший персонаж испытал слегка отрицательный результат).
Что меня интересует, так это то, больше ли разница между положительными результатами (среднее число чрезвычайно положительных и слегка положительных результатов) и отрицательными результатами (среднее число крайне отрицательных и слегка отрицательных результатов) для положительных персонажей (среднее число чрезвычайно положительных и слегка положительных признаков) по сравнению с отрицательными символами (среднее число крайне отрицательных и слегка отрицательных символов).
График предполагает, что это должно быть так. Участники оценили положительные характеристики как высоко заслуживающие положительных результатов (avg prop = .965) и не заслуживающие отрицательных результатов (avg prop = .039). Это разница 0,926. Напротив, участники оценивали отрицательные признаки как незначительно заслуживающие положительных результатов в среднем (avg prop = .59) и как слегка не заслуживающие отрицательных результатов в среднем (avg prop = .39). Это разница.20.
Таким образом, я хочу проверить, является ли разница между положительными и отрицательными результатами для положительных персонажей 0,99. больше чем.20 разница между положительными и отрицательными результатами для отрицательных персонажей.
Прямо сейчас я использую функцию "контраст" из пакета lsmeans, чтобы вычислить, есть ли разница для положительных и отрицательных результатов отдельно для чрезвычайно положительных / отрицательных и слегка положительных / отрицательных символов. Это не совсем подходит к вопросу, который я хочу задать. Я предоставлю некоторый код, чтобы показать, как я это сделал.
Во-первых, вот данные: скачать как CSV
Теперь немного кода R, который вы можете скопировать / вставить:
Data <- read.csv(file.choose())
require(lme4)
require(lsmeans)
Model <- glmer(Choice ~ Character*Outcome + (1|Item) + (1|Subject), dat=Data, family="binomial", control = glmerControl(optimizer = "bobyqa"))
lsmip(Model, Character~Outcome, type="response") #Plot of the data
Model.means <- lsmeans(Model, specs = c("Character", "Outcome"), type="response")
levels(interaction(Data$Character,Data$Outcome)) #to help with the contrasts
#Here are the contrasts that I am currently using
contrast(Model.means, list(ExtPosChar.vs.MildPosChar.for.GoodOutcomes = c(0,0,0,0,0,0,0,0,0,.5,0,-.5,0,.5,0,-.5),
ExtPosChar.vs.MildPosChar.for.BadOutcomes = c(0,.5,0,-.5,0,.5,0,-.5,0,0,0,0,0,0,0,0)))
contrast(Model.means, list(ExtNegChar.vs.MildNegChar.for.GoodOutcomes = c(0,0,0,0,0,0,0,0,.5,0,-.5,0,.5,0,-.5,0),
ExtNegChar.vs.MildNegChar.for.BadOutcomes = c(.5,0,-.5,0,.5,0,-.5,0,0,0,0,0,0,0,0,0)))