A pergunta a seguir é um daqueles grails sagrados para mim há algum tempo, espero que alguém possa oferecer um bom conselho.
Desejo executar uma multiova anova de medidas repetidas não paramétricas usando R.
Venho pesquisando e lendo on-line há algum tempo e até agora consegui encontrar soluções para apenas alguns dos casos: teste de friedman para uma maneira não paramétrica de medidas repetidas anova, regressão ordinal com {car} função Anova para função não-paramétrica de várias maneiras anova e assim por diante. As soluções parciais NÃO são o que estou procurando neste tópico de perguntas. Resumi minhas descobertas até agora em um post publicado há algum tempo (intitulado: Medidas repetidas ANOVA com R (funções e tutoriais) , caso isso ajudasse alguém)
Se o que eu leio online for verdadeiro, essa tarefa poderá ser realizada usando um modelo misto de regressão ordinal (também conhecido como: Modelo de Probabilidades Proporcionais).
Encontrei dois pacotes que parecem relevantes, mas não consegui encontrar nenhuma vinheta sobre o assunto:
Sendo novo no assunto, eu esperava algumas orientações das pessoas daqui.
Existe algum tutorial / leitura sugerida sobre o assunto? Melhor ainda, alguém pode sugerir um código de exemplo simples para executar e analisar isso em R (por exemplo: "medidas repetidas não paramétricas multiway anova")?
fonte
Respostas:
O pacote ez , do qual sou o autor, tem uma função chamada ezPerm () que calcula um teste de permutação, mas provavelmente não faz interações corretamente (a documentação admite isso). A versão mais recente possui uma função chamada ezBoot (), que permite fazer a reamostragem de autoinicialização que leva em consideração medidas repetidas (reamostrando assuntos e depois dentro dos sujeitos), usando meios tradicionais de célula como estatística de previsão ou usando modelagem de efeitos mistos para fazer previsões para cada célula no design. Ainda não tenho certeza de quão "não paramétricos" são os ICs de autoinicialização das previsões do modelo de efeitos mistos; minha intuição é que eles possam ser razoavelmente considerados não paramétricos, mas minha confiança nessa área é baixa, pois ainda estou aprendendo sobre modelos de efeitos mistos.
fonte
aovp
alternativa - dolmperm
pacote órfão - produz grandes variações para os valores de p, veja isso . Tenho algumas perguntas: Onde posso encontrar referências bibliográficas para a implementaçãoezPerm
? Como posso interpretar que a função provavelmente não faz interações corretamente ? O que poderia ser um teste post-hoc nesse caso? Obrigado!ezPerm( data = DATA, dv = DV, wid = WID, within = interaction(A,B), perms = 1e3)
faria sentido verificar novamente se a interação é significativa?Em caso de dúvida, inicialize! Realmente, não conheço um procedimento fixo para lidar com esse cenário.
O bootstrapping é uma maneira geralmente aplicável de gerar alguns parâmetros de erro a partir dos dados disponíveis. Em vez de confiar nas premissas paramétricas típicas, os procedimentos de bootstrap aproveitam as características da amostra para gerar uma distribuição empírica com a qual as estimativas da amostra podem ser comparadas.
O Google Scholar é ouro ... já foi feito antes ... pelo menos uma vez.
Lunneborg, Clifford E .; Tousignant, James P .; 1985 "Bootstrap de Efron com aplicação ao projeto de medidas repetidas". Pesquisa Comportamental Multivariada; 85, abr. 20 Edição 2, p161, 18p
fonte
Há um "truque" mencionado em alguns fóruns e listas de discussão - eu também o encontrei mencionado no livro de Joop Hox "Multilevel Analysis" (segunda edição, 2010), pp. 189.
A idéia é: você reformata seus dados longos em um conjunto de dados longo e longo, no qual cria um novo DV que inclui todas as suas respostas de DV e usa uma variável de índice que contém informações sobre a natureza dos DVs para prever esse resultado.
Vamos supor que você tenha 9 sintomas de depressão (ordinal), 2 pontos de medição e 300 indivíduos. Portanto, enquanto você tem 300 linhas em seu conjunto de dados normal e em seu longo conjunto de dados, 600 linhas, esse novo conjunto de dados terá 9 (sintomas) x 2 (tempo) x 300 (assuntos).
A nova variável DV "sintomas" agora contém a gravidade dos participantes em 9 sintomas, as variáveis "índice" contêm as informações sobre a natureza do sintoma (1 a 9) e as duas variáveis "tempo" e "tempo" ID do usuário".
Agora você pode usar o
ordinal
pacote para executar isso.No meu caso específico, eu estava interessado em saber se havia uma interação significativa entre índice e tempo, então executei um modelo adicional e os comparei:
O CLMM2 usa um modelo de interceptação aleatória (que seja do meu conhecimento, o pacote
ordinal
não faz inclinações aleatórias); se você não usar um modelo de interceptação aleatória, poderá executar os modelos usando o CLM, por exemplo:fonte
clmm2(symptoms ~ index*time, random=UserID, data = data, Hess=TRUE, nAGQ=10) anova(m1,m2)
. Você sabe por acaso como expressar isso com a nova função clmm? Não tenho certeza sobre a notação.