Eu uso lme4 em R para ajustar o modelo misto
lmer(value~status+(1|experiment)))
onde o valor é contínuo, status e experimento são fatores, e eu entendo
Linear mixed model fit by REML
Formula: value ~ status + (1 | experiment)
AIC BIC logLik deviance REMLdev
29.1 46.98 -9.548 5.911 19.1
Random effects:
Groups Name Variance Std.Dev.
experiment (Intercept) 0.065526 0.25598
Residual 0.053029 0.23028
Number of obs: 264, groups: experiment, 10
Fixed effects:
Estimate Std. Error t value
(Intercept) 2.78004 0.08448 32.91
statusD 0.20493 0.03389 6.05
statusR 0.88690 0.03583 24.76
Correlation of Fixed Effects:
(Intr) statsD
statusD -0.204
statusR -0.193 0.476
Como posso saber que o efeito do status é significativo? R relata apenas valores e não valores p .
Respostas:
Há muitas informações sobre esse tópico nas Perguntas frequentes do GLMM . No entanto, no seu caso particular, sugiro usar
porque você não precisa de nada do que
lmer
oferece (maior velocidade, manipulação de efeitos aleatórios cruzados, GLMMs ...).lme
deve dar-lhe exatamente as mesmas estimativas dos coeficientes e variância, mas também df computação e p-valores para você (que fazer faz sentido em um "clássico" de design, como você parece ter). Você também pode considerar o termo aleatório~status|experiment
(permitindo a variação dos efeitos de status entre os blocos ou incluindo equivalentemente uma interação status-por-experimento). Os pôsteres acima também estão corretos, pois suast
estatísticas são tão grandes que seu valor-p será definitivamente <0,05, mas posso imaginar que você gostaria de valores-p "reais".fonte
lmer
poderia facilmente reportar os mesmos tipos de valores-p, mas não por razões válidas. Eu acho que é o comentário de que existem valores p "reais" aqui que me incomodam. Você pode argumentar que pode encontrar um possível corte e que qualquer corte razoável seja passado. Mas você não pode argumentar que existe um valor p real.summary(m1)
vez (eu uso isso com nlme pacote)Você pode usar o pacote lmerTest . Você apenas instala / carrega e os modelos lmer são estendidos. Então por exemplo
daria resultados com valores-p. Se os valores de p são a indicação correta, é um pouco contestado, mas se você quiser tê-los, é esse o caminho para obtê-los.
fonte
Se você conseguir lidar com o abandono de valores-p ( e deve ), poderá calcular uma taxa de probabilidade que represente o peso da evidência para o efeito do status via:
fonte
A questão é que o cálculo dos valores de p para esses modelos não é trivial; veja a discussão aqui para que os autores do
lme4
pacote tenham escolhido intencionalmente não incluir valores de p na saída. Você pode encontrar um método para calcular isso, mas eles não estarão necessariamente corretos.fonte
Considere o que você está perguntando. Se você quer apenas saber se o valor p geral para o efeito do status passa algum tipo de valor de corte arbitrário, como 0,05, é fácil. Primeiro, você deseja descobrir o efeito geral. Você poderia conseguir isso
anova
.Agora você tem um valor F. Você pode pegar isso e procurar em algumas tabelas F. Basta escolher o menor valor possível. graus de liberdade. O ponto de corte será em torno de 20. Seu F pode ser maior que isso, mas eu posso estar errado. Mesmo que não seja, observe o número de graus de liberdade de um cálculo ANOVA convencional aqui usando o número de experimentos que você tem. Aderindo esse valor, você reduz para cerca de 5 por um ponto de corte. Agora você passa isso facilmente em seu estudo. O df 'true' para o seu modelo será algo mais alto do que isso, porque você está modelando todos os pontos de dados em oposição aos valores agregados que uma ANOVA modelaria.
Se você realmente deseja um valor p exato, não existe, a menos que esteja disposto a fazer uma afirmação teórica sobre isso. Se você ler Pinheiro & Bates (2001, e talvez mais alguns livros sobre o assunto ... veja outros links nessas respostas) e sair com um argumento para um df específico, poderá usá-lo. Mas na verdade você não está procurando um valor p exato. Menciono isso porque, portanto, você não deve relatar um valor p exato, apenas que seu ponto de corte é passado.
Você realmente deve considerar a resposta de Mike Lawrence, porque toda a ideia de apenas seguir um ponto de passagem para valores-p como a informação final e mais importante a ser extraída dos seus dados geralmente é equivocada (mas pode não estar no seu caso, pois não realmente tem informações suficientes para saber). Mike está usando uma versão de estimação do cálculo da LR que é interessante, mas pode ser difícil encontrar muita documentação. Se você observar a seleção e interpretação de modelos usando o AIC, poderá gostar.
fonte
Editar: este método não é mais suportado nas versões mais recentes do lme4. Use o pacote lmerTest conforme sugerido nesta resposta por pbx101 .
Há um post na lista R do autor do lme4, explicando por que os valores p não são exibidos. Ele sugere o uso de amostras do MCMC, que você usa usando o pvals.fnc do pacote languageR:
Consulte http://www2.hawaii.edu/~kdrager/MixedEffectsModels.pdf para obter um exemplo e detalhes.
fonte
Você está interessado em saber se o efeito combinado de
status
tem um efeito significativovalue
? Nesse caso, você pode usar aAnova
função nocar
pacote (para não confundir com aanova
função na baseR
).Dê uma olhada
?Anova
depois de carregar ocar
pacote.fonte
car::Anova()
evitar os problemas complicados que envolvem o cálculo de valores-p que Michelle vincula?anova
comando regular fornecerá F's.A função
pvals.fnc
não é mais suportada pelo lme4. Usando o pacote lmerTest, é possível usar outro método para calcular o valor-p, como as aproximações de Kenward-Rogerfonte
Simplesmente carregar o pacote afex imprimirá os valores-p na saída da função lmer do pacote lme4 (você não precisa usar o afex; basta carregá-lo):
Isso adicionará automaticamente uma coluna de valor p à saída do lmer (yourmodel) para os efeitos fixos.
fonte