2015-11-09 2 views
0

Исследование рандомизированных участников с помощью Source (Expert vs Attractive) и Argument (Strong vs Weak) было отнесено к категории Monitor тип (Высокий и низкий). Я хочу проверить значение основных эффектов, двухсторонних взаимодействий и трехсторонних взаимодействий следующего кадра данных - в частности,Как выполнить трехсторонние (двоичные коэффициенты) между субъектами ANOVA с основными эффектами и всеми взаимодействиями в R

Основные эффекты = Самомониторы (Высокий против Низкий), Аргумент (Сильный против слабого), источника (Привлекательный против Expert)

Двусторонний взаимодействия = Self-мониторы аргумента, Self-Мониторы источника, Аргумент * Источник

трехходового взаимодействие = Self-мониторы Довода Источник

Это код:

data<-data.frame(Monitor=c(rep("High.Self.Monitors", 24),rep("Low.Self.Monitors", 24)), 
       Argument=c(rep("Strong", 24), rep("Weak", 24), rep("Strong", 24), rep("Weak", 24)), 
       Source=c(rep("Expert",12),rep("Attractive",12),rep("Expert",12),rep("Attractive",12), 
          rep("Expert",12),rep("Attractive",12),rep("Expert",12),rep("Attractive",12)), 
       Response=c(4,3,4,5,2,5,4,6,3,4,5,4,4,4,2,3,5,3,2,3,4,3,2,4,3,5,3,2,6,4,4,3,5,3,2,3,5,5,7,5,6,4,3,5,6,7,7,6, 
          3,5,5,4,3,2,1,5,3,4,3,4,5,4,3,2,4,6,2,4,4,3,4,3,5,6,4,7,6,7,5,6,4,6,7,5,6,4,4,2,4,5,4,3,4,2,3,4)) 
data$Monitor<-as.factor(data$Monitor) 
data$Argument<-as.factor(data$Argument) 
data$Source<-as.factor(data$Source) 

Я хотел бы получить основные эффекты, а также все двустороннее взаимодействие и взаимодействие трехпозиционный. Однако, если я типа в anova(lm(Response ~ Monitor*Argument*Source, data=data)) я получаю:

Analysis of Variance Table 

Response: Response 
       Df Sum Sq Mean Sq F value Pr(>F)  
Monitor   1 24.000 24.0000 13.5322 0.0003947 *** 
Source   1 0.667 0.6667 0.3759 0.5413218  
Monitor:Source 1 0.667 0.6667 0.3759 0.5413218  
Residuals  92 163.167 1.7736      
--- 
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

вхожу summary(aov(Response ~ Monitor*Argument*Source, data=data))

Call: 
lm.default(formula = Response ~ Monitor * Argument * Source, 
    data = data) 

Residuals: 
    Min  1Q Median  3Q  Max 
-2.7917 -0.7917 0.2083 1.2083 2.5417 

Coefficients: (4 not defined because of singularities) 
                Estimate Std. Error t value Pr(>|t|)  
(Intercept)           3.4583  0.2718 12.722 < 2e-16 *** 
MonitorLow.Self.Monitors        1.1667  0.3844 3.035 0.00313 ** 
ArgumentWeak            NA   NA  NA  NA  
SourceExpert           0.3333  0.3844 0.867 0.38817  
MonitorLow.Self.Monitors:ArgumentWeak     NA   NA  NA  NA  
MonitorLow.Self.Monitors:SourceExpert    -0.3333  0.5437 -0.613 0.54132  
ArgumentWeak:SourceExpert        NA   NA  NA  NA  
MonitorLow.Self.Monitors:ArgumentWeak:SourceExpert  NA   NA  NA  NA  
--- 
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Residual standard error: 1.332 on 92 degrees of freedom 
Multiple R-squared: 0.1344, Adjusted R-squared: 0.1062 
F-statistic: 4.761 on 3 and 92 DF, p-value: 0.00394 

Любые мысли или идеи?

Редактировать Picture of the data

+0

Это похоже на 'summary (aov (Response ~ Monitor * Argument * Source, data = data))' у вас есть именно то, что вы хотели. Я полагаю, что «NA» обусловлены недостаточными степенями свободы для оценки желаемых эффектов. Если вы укажете еще немного (сколько предметов в каждом состоянии) или дайте воспроизводимый пример, это поможет. –

+0

@GioraSimchoni Код для набора данных есть. – user2105555

+0

Извините, пропустил это :) –

ответ

1

Ваши данные не очень хорошо рандомизированы, как вы говорите. Чтобы оценить трехстороннее взаимодействие, у вас должна быть группа испытуемых с «низким», «сильным» и «экспертным» сочетанием уровней трех факторов. У вас нет такой группы.

Посмотрите:

table(data[,1:3]) 

Например.

+0

Извините Гиору, но это вопрос в учебнике «Проектирование экспериментов и анализ данных» (стр. 397). =/ – user2105555

+0

У этого вопроса есть проблемы ... Высокие самоанализаторы всегда «приходят» с «Сильными аргументами», поэтому нет достаточной вариации. Вы можете изменить это, если это фиктивный набор данных: rep (level1, 24), затем rep (level2, 12), а затем rep (level3, 6) для каждого из уровней. –

+0

Спасибо, @Giora Simchoni – user2105555