Как я могу рассчитать дисперсию с двумя группами? - PullRequest
0 голосов
/ 07 ноября 2019

В настоящее время я борюсь с чем-то, вероятно, довольно простым, но каким-то образом я застрял.

Я оцениваю эксперимент. Есть две группы: «узкая» и «широкая». Обе группы оценивали одно предложение по шкале от 0 до 10, в зависимости от группы, в которой они находились. Участник в «узком» состоянии видит только «предложение с узким удовлетворением», а участник только в «широкой» группевидит "широкое удовлетворение приговор". Это означает, что у каждого участника есть NA для предложения, которое они не видели. Участник А попал в «узкую» группу, что означает в графе «узкая» его значение 8. В «широкой» группе его значение равно NA, поскольку ему не нужно было оценивать это предложение.

Точнее, вот некоторые из моих данных:

Состояние __________ Удовлетворение по всему __________ Удовлетворение_narrow

по ширине _____________ 8 ______________________ NA

по ширине _____________ 7 * _______________________ * * * * * * * * * * * * 1331015 *

узкий ___________ NA ____________________ 6

широкий _____________ 5 ______________________ NA

широкий _____________ 3 ______________________ NA

узкий ___________ NA____________________7

узкий ___________ * * * * * * *Сравните различия, но я не совсем уверен, как я могу это сделать, так как у меня есть NA.

Я пытался

bartlett.test(data$Condition == "narrow" ~ data$Condition == "wide")

, но это дает мне: нет.

Я также пытался

var.test(data$Condition == "narrow" ~ data$Condition == "wide")

, но это (очевидно) также дает мне NA.

Как я могу сказать R сделать 2 группы и рассчитать дисперсию? Я не смог найти ничего похожего в Интернете или на этом сайте, так как они в основном имеют дело с вычислением дисперсий без Nas. Прошу прощения за форматирование, я новичок в R и stackoverlow. Вся помощь очень ценится.

Ответы [ 2 ]

0 голосов
/ 07 ноября 2019

Спасибо, Себастьян!

Я сделал это сейчас так:

data$Condition <- factor(data$Condition, labels = c("narrow", "wide"))
data$satisfaction <- rowSums(data[7:8], na.rm=T)

tapply(data$satisfaction, data$Condition, sd, na.rm=T)

bartlett.test(satisfaction ~ Condition, data = data)

отлично работает :)

0 голосов
/ 07 ноября 2019

Вы захотите создать два вектора, один для широкого и один для узкого, и удалить NA в каждом. Затем подайте его для вашей функции. Например: wide <- data$Satisfaction_wide[[!is.na(data$Satisfation_wide) & Data$conditon =="wide"]]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...