2015-07-01 5 views
1

Я пытаюсь проанализировать набор данных для исследовательского проекта, но столкнулся с множеством проблем и не смог найти прямой ответ в Интернете. Я работал с другими статистическими программами, но я новичок в R. Мне было труднее всего выяснить, как сформировать свой набор данных, чтобы лучше отвечать на вопросы.ANOVA - сравнение 3 групп в R

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

Я использовал один путь ANOVA в прошлом для этого - в minitab я бы поместил изображения в 3 фактора (1,2,3), а затем оценки для данного вопроса в соседнем столбце. Таким образом, конкретная картина и оценка для конкретного вопроса будут выстроены горизонтально.

Image pleasing 
1  1  3 
2  1  2 
3  1  1 
4  1  1 
5  1  1 
6  1  2 

Это, как я его установить в R, а также - но когда я пытаюсь запустить ANOVA я не могу, потому что изображение все еще класс Integer и не является определяющим фактором. Поэтому он дает мне это:

> Paov <- aov(Image ~ pleasing) 
> summary(Paov) 
      Df Sum Sq Mean Sq F value Pr(>F) 
pleasing  1 0.7 0.6546 0.978 0.323 
Residuals 813 544.3 0.6696    
26 observations deleted due to missingness 

, а затем постсоветский тест Туки не имеет смысла. В minitab он смог показать мне средний балл для приятного, поскольку он связан с каждым изображением, а затем расскажите мне, как они значительно отличаются. Как я могу сделать Image фактором в R? И тогда, как я могу правильно сравнить эти три группы там, где вам понравилось?

+0

Вы должны «настроить» свои данные соответствующим образом для R. Вы не будете пытаться летать в небе с помощью велосипеда. Вы могли бы попробовать, но вы, скорее всего, не добьетесь успеха, если не будете ET! Для начала сделайте это df $ Image <-factor (df $ Image), где df - ваш data.frame. И, пожалуйста, отправьте пример воспроизведения - подсказки здесь -> http: // stackoverflow.com/questions/5963269/how-to-make-a-great-r-воспроизводимый пример – infominer

+1

Вы не будете пытаться летать в небе с помощью велосипеда. Мет, даже не один раз. – thelatemail

ответ

1

С учетом описания ваших данных, вот способ проведения анализа дисперсии и теста Tukey. Во-первых, некоторые не очень случайные данные (которые будут давать «интересные» результаты):

set.seed(40) 
dat <- data.frame(Image = factor(rep(1:3, each=10)), 
        Pleasing = c(sample(1:2, 10, replace=T), 
           sample(c(1,3), 10, replace=T), 
           sample(2:3, 10, replace=T))) 
head(dat) 
# Image Pleasing 
# 1  1  2 
# 2  1  2 
# 3  1  2 
# 4  1  1 
# 5  1  1 
# 6  1  1 

aov довольно просто. Просто обратите внимание, вы должны использовать data, если ваши переменные в dataframe (с использованием attach не рекомендуется):

dat.aov <- aov(Pleasing ~ Image, data=dat) 
summary(dat.aov) 
#    Df Sum Sq Mean Sq F value Pr(>F) 
# Image  2 7.2 3.600 6.568 0.00474 ** 
# Residuals 27 14.8 0.548     
# --- 
# Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 

Теперь для Тьюки, существуют различные способы сделать это в R. Мне нравится использовать пакет multcomp, поскольку она предоставляет больше информации с результатами:

library(multcomp) 

tukey <- cld(glht(dat.aov, linfct = mcp(Image = "Tukey")), decreasing = TRUE) 

tukey$mcletters$Letters 
# 1 2 3 
# "b" "ab" "a" 

синтаксис выглядит довольно сложным, так как в multcomp вы используете общую линейную функцию гипотезы (glht), в котором выполняется многократное сравнение (mcp), а затем извлечь компактный буквенный дисплей результатов Туки (cld).

Вы можете даже построить результаты Тьюков, хотя присущи рефлективных, вербальные выглядят не очень хорошо для такого рода данных:

enter image description here

В заключительной ноте, важно отметить, что я использую этот вид анализа для непрерывных данных (экспериментальные лабораторные измерения), и я не уверен, что это правильно для ваших категориальных данных (выбор выражения 1-3).

+0

Почему вы создали семя? У меня есть 143 участника, которые отвечают на вопросы обо всех трех изображениях. Таким образом, я пытаюсь сравнить изображения в отношении этих изображений в категории (например, приятно). – Keneggs

+0

Семя только для того, чтобы сделать мои примеры данными воспроизводимыми. Если вы используете одно и то же семя и тот же код для 'dat', результаты будут идентичными. Без семени их не было бы, и это затрудняет проверку, все ли хорошо работает для всех, кто сталкивается с этим ответом. – Molx

+0

Awesome, извините, я очень новичок в R. Еще один вопрос, репликация здесь отличает, какой счет в приятном идет к тому, какой фактор в изображении? также могу ли я затем поместить изображение в такие термины, прежде чем запускать одну и ту же строку кода? Изображение <- коэффициент (источник $ Изображение, уровни = 1: 3) > уровни (изображение) <- c («Сад», «Счастливый», «Злой») > Изображение – Keneggs

Смежные вопросы