Я пытаюсь перейти от использования ez
пакета lme
для повторных измерений ANOVA (как я надеюсь, я смогу использовать пользовательские контрасты с lme
).
Следуя совету из этого поста в блоге, я смог настроить одну и ту же модель, используя обе функции aov
(как это делается ez
при запросе) и lme
. Однако, в то время как в примере , приведенном в этой должности в F -значения делать совершенно согласен между aov
и lme
(я проверил это, и они делают), это не относится к моим данным. Хотя значения F похожи, они не одинаковы.
aov
возвращает значение f 1,3399, lme
возвращает 1,3664. Я готов принять aov
результат как «правильный», поскольку это также то, что возвращает SPSS (и это то, что имеет значение для моего поля / руководителя).
Вопросов:
Было бы здорово, если бы кто-то мог объяснить, почему существует такая разница и как я могу использовать ее
lme
для получения достоверных результатов. (Я также хотел бы использоватьlmer
вместоlme
этого типа материала, если он дает «правильный» результат. Однако я до сих пор не использовал его.)После решения этой проблемы я хотел бы провести анализ контраста. Особенно меня будет интересовать контраст объединения первых двух уровней фактора (т. Е.
c("MP", "MT")
) И сравнение его с третьим уровнем фактора (т. Е."AC"
). Кроме того, тестирование третьего по сравнению с четвертым уровнем фактора (то есть, по"AC"
сравнению с"DA"
).
Данные:
tau.base <- structure(list(id = structure(c(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L,
9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L,
22L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L,
14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 1L, 2L, 3L, 4L,
5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L,
19L, 20L, 21L, 22L, 1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L,
11L, 12L, 13L, 14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L), .Label = c("A18K",
"D21C", "F25E", "G25D", "H05M", "H07A", "H08H", "H25C", "H28E",
"H30D", "J10G", "J22J", "K20U", "M09M", "P20E", "P26G", "P28G",
"R03C", "U21S", "W08A", "W15V", "W18R"), class = "factor"), factor = structure(c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 4L,
4L, 4L, 4L, 4L, 4L, 4L, 4L), .Label = c("MP", "MT", "AC", "DA"
), class = "factor"), value = c(0.9648092876, 0.2128662077, 1,
0.0607615485, 0.9912814024, 3.22e-08, 0.8073856412, 0.1465590332,
0.9981672618, 1, 1, 1, 0.9794401938, 0.6102546108, 0.428651501,
1, 0.1710644881, 1, 0.7639763913, 1, 0.5298989196, 1, 1, 0.7162733447,
0.7871177434, 1, 1, 1, 0.8560509327, 0.3096989662, 1, 8.51e-08,
0.3278862311, 0.0953598576, 1, 1.38e-08, 1.07e-08, 0.545290432,
0.1305621416, 2.61e-08, 1, 0.9834051136, 0.8044114935, 0.7938839461,
0.9910112678, 2.58e-08, 0.5762677121, 0.4750002288, 1e-08, 0.8584252623,
1, 1, 0.6020385797, 8.51e-08, 0.7964935271, 0.2238374288, 0.263377904,
1, 1.07e-08, 0.3160751898, 5.8e-08, 0.3460325565, 0.6842217296,
1.01e-08, 0.9438301877, 0.5578367224, 2.18e-08, 1, 0.9161424562,
0.2924856039, 1e-08, 0.8672987992, 0.9266688748, 0.8356425464,
0.9988463913, 0.2960361777, 0.0285680426, 0.0969063841, 0.6947998266,
0.0138254805, 1, 0.3494775301, 1, 2.61e-08, 1.52e-08, 0.5393467752,
1, 0.9069223275)), .Names = c("id", "factor", "value"), class = "data.frame", row.names = c(1L,
6L, 10L, 13L, 16L, 17L, 18L, 22L, 23L, 24L, 27L, 29L, 31L, 33L,
42L, 43L, 44L, 45L, 54L, 56L, 58L, 61L, 64L, 69L, 73L, 76L, 79L,
80L, 81L, 85L, 86L, 87L, 90L, 92L, 94L, 96L, 105L, 106L, 107L,
108L, 117L, 119L, 121L, 124L, 127L, 132L, 136L, 139L, 142L, 143L,
144L, 148L, 149L, 150L, 153L, 155L, 157L, 159L, 168L, 169L, 170L,
171L, 180L, 182L, 184L, 187L, 190L, 195L, 199L, 202L, 205L, 206L,
207L, 211L, 212L, 213L, 216L, 218L, 220L, 222L, 231L, 232L, 233L,
234L, 243L, 245L, 247L, 250L))
И код:
require(nlme)
summary(aov(value ~ factor+Error(id/factor), data = tau.base))
anova(lme(value ~ factor, data = tau.base, random = ~1|id))
lme
результатах из стандартного учебника ANOVA (предоставленного aov
и который мне нужен), это не вариант для меня. В своей статье я хочу сообщить о ANOVA, а не о чем-то вроде ANOVA. Интересно, что Venables & Ripley (2002, стр. 285) показывают, что оба подхода приводят к одинаковым оценкам. Но различия в значениях F оставляют у меня плохое предчувствие. Кроме того, Anova()
(from car
) возвращает только значения Chi² для lme
объектов. Поэтому для меня мой первый вопрос еще не ответил.
lme
; но для контрастов, glht
работает на lm
подгонки тоже, не только lme
подходит. (Кроме того, lme
результаты являются стандартными результатами учебника тоже.)
lm
для анализа повторных измерений. Только aov
может иметь дело с повторными мерами, но вернет объект класса, aovlist
который, к сожалению, не обрабатывается glht
.
lm
использует остаточную ошибку в качестве члена ошибки для всех эффектов; когда есть эффекты, которые должны использовать другой термин ошибки, aov
необходимо (или вместо этого, используя результаты lm
для вычисления F-статистики вручную). В вашем примере термин ошибки для factor
- это id:factor
взаимодействие, которое является термином остаточной ошибки в аддитивной модели. Сравните свои результаты с anova(lm(value~factor+id))
.