Eu tenho um conjunto de dados de 482 observações.
data=Populationfull
Vou fazer uma análise de associação de genótipo para 3 SNPs. Estou tentando construir um modelo para minha análise e estou usando o aov (y ~ x, data = ...). Para uma característica, tenho vários efeitos fixos e covariáveis que incluí no modelo, como:
Starts <- aov(Starts~Sex+DMRT3+Birthyear+Country+Earnings+Voltsec+Autosec, data=Populationfull) summary(Starts) Df Sum Sq Mean Sq F value Pr(>F) Sex 3 17.90 5.97 42.844 < 2e-16 *** DMRT3 2 1.14 0.57 4.110 0.017 * Birthyear 9 5.59 0.62 4.461 1.26e-05 *** Country 1 11.28 11.28 81.005 < 2e-16 *** Earnings 1 109.01 109.01 782.838 < 2e-16 *** Voltsec 1 12.27 12.27 88.086 < 2e-16 *** Autosec 1 8.97 8.97 64.443 8.27e-15 *** Residuals 463 64.48 0.14 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Descobri que se eu alterei a ordem das variáveis no modelo, obtive valores p diferentes, veja abaixo.
Starts2 <- aov(Starts~Voltsec+Autosec+Sex+DMRT3+Birthyear+Country+Earnings, data=Populationfull) summary(Starts2) Df Sum Sq Mean Sq F value Pr(>F) Voltsec 1 2.18 2.18 15.627 8.92e-05 *** Autosec 1 100.60 100.60 722.443 < 2e-16 *** Sex 3 10.43 3.48 24.962 5.50e-15 *** DMRT3 2 0.82 0.41 2.957 0.05294 . Birthyear 9 3.25 0.36 2.591 0.00638 ** Country 1 2.25 2.25 16.183 6.72e-05 *** Earnings 1 46.64 46.64 334.903 < 2e-16 *** Residuals 463 64.48 0.14 --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Por que obtenho valores-p diferentes, dependendo da ordem em que as variáveis / fatores / covariáveis / efeitos fixos (?) São codificados? Existe uma maneira de "corrigir" isso? Será que estou usando o modelo errado? Eu ainda sou muito novo na R, por isso, se você puder me ajudar com isso, mantenha-o realmente simples para que eu possa entender a resposta hehe ... Obrigado, espero que alguém possa me ajudar a entender isso!
Earnings 1 109.01 109.01 782.838 < 2e-16 ***
sua segunda corrida Earnings 1 46.64 46.64 334.903 < 2e-16 ***
. Seus resultados não são os mesmos. Comece verificando se você não fez mais do que reorganizar variáveis.
car
pacote - ele implementa ANOVA Tipo II e Tipo III, que não depende da ordem das variáveis, enquanto aov
que ANOVA Tipo I.
Populationfull
tornar seu problema reproduzível . Isso não acontece com o exemplo daaov()
página de ajuda.summary(aov(yield ~ block + N + P + K, npk)); summary(aov(yield ~ K + P + block + N , npk))