Выполнение MANOVA на приборных данных в R
Я пытаюсь выполнить MANOVA на аккуратном кадре данных, который выглядит примерно так: "id" относится к номеру участника. Независимыми переменными являются "init_cont" (со значениями I или K) и "family" (со значениями C, S или D), что соответствует дизайну 2x3. Колонка "qnumber" относится к количеству ответов участников вопроса, причем каждый участник отвечает на 3 вопроса. "ценность" - это ответ каждого участника на конкретный вопрос.
id init_cont family qnumber value
1 I C 1 3.5
1 I C 2 2
1 I C 3 4
2 K C 1 2
2 K C 2 5
2 K C 3 3
3 K S 1 4.5
3 K S 2 5
3 K S 3 3
4 K D 1 1
4 K D 2 7.5
4 K D 3 3
Каков наилучший способ для меня выполнить MANOVA на этих данных? Меня интересует взаимодействие между независимыми переменными и то, как они влияют на "ценность" для каждого из 3 вопросов. Если это актуально, у моего фактического набора данных есть 14 разных вопросов.
Я рассмотрел вопрос реорганизации данных в следующем формате, но я не уверен, как это сделать в R. Числа после "значения" в каждом новом столбце взяты из "qnumber".
id init_cont family value1 value2 value3
1 I C 3.5 2 4
2 K C 2 5 3
3 K S 4.5 5 3
4 K D 1 7.5 3
1 ответ
dplyr::spread
легко решает первую часть вашей проблемы
df %>% spread(qnumber, value)
# id init_cont family 1 2 3
# 1 1 I C 3.5 2.0 4
# 2 2 K C 2.0 5.0 3
# 3 3 K S 4.5 5.0 3
# 4 4 K D 1.0 7.5 3
Вот воспроизводимые данные.
t <- 'id init_cont family qnumber value
1 I C 1 3.5
1 I C 2 2
1 I C 3 4
2 K C 1 2
2 K C 2 5
2 K C 3 3
3 K S 1 4.5
3 K S 2 5
3 K S 3 3
4 K D 1 1
4 K D 2 7.5
4 K D 3 3'
df <- read.table(text = t, header = TRUE)