Como especificar efeitos aleatórios no lme?


8

Pesquisei este online por horas, mas nenhuma postagem online é o que estou procurando. Minha pergunta é muito fácil de implementar no procedimento misto SAS Proc, mas não sei como fazê-lo nos pacotes lme e / ou lmer. Suponha, eu tenho um modelo, , em que é fixo, mas ey=μ+α+β+αβ+eαβαβ são aleatórios. Meu código R é

 f1 = lme(y ~ factor(a), data = mydata,
     random = list(factor(b) = ~ 1, factor(a):factor(b) = ~ 1))

Erro: inesperado =em:

 f1 = lme(y ~ factor(a), data = mydata,
          random = list(factor(a) =  

Alguém poderia me dizer como especificar esses efeitos aleatórios no lme? Muito obrigado antecipadamente


É útil usar dputpara obter o código necessário para recriar seus dados. A partir do comentário que você deixou, o resultado éstructure(list(method = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("1", "2"), class = "factor"), day = structure(c(1L, 1L, 2L, 2L, 3L, 3L, 4L, 4L, 1L, 1L, 2L, 2L, 3L, 3L, 4L, 4L), .Label = c("1", "2", "3", "4"), class = "factor"), level = c(142.3, 144, 134.9, 146.3, 148.6, 156.5, 152, 151.4, 142.9, 147.4, 125.9, 127.6, 135.5, 138.9, 142.9, 142.3)), .Names = c("method", "day", "level"), row.names = c(NA, -16L), class = "data.frame")
Aaron deixou o Stack Overflow

Respostas:


12

Tente isso, é uma maneira padrão de fazer uma plotagem dividida. A notação /significa que o método está aninhado em dia.

lme(level~method, random=~1|day/method, data=d)

Olá Aaron, muito obrigado. Sua saída R é exatamente a mesma que a saída SAS e o manual. Mas por que precisamos usar "aninhado" na sintaxe R. Porque no livro, afirma claramente queαβé um termo de interação aleatória e eu também uso o termo de interação aleatória no SAS. Você poderia me dizer por que / como especificar um efeito de interação aleatória no lme, se for possível? muito obrigado Tu.2
Tu.2

3
Sua pergunta não é sobre a sintaxe R, é sobre o que significa aninhamento. Aninhar B em A (com A / B) cria duas variáveis, A e a interação entre A e B, que é exatamente o que você descreve.
Aaron deixou o Stack Overflow

Oi, esta é uma ótima explicação. Muito obrigado.
Tu.2

2

Ajudaria muito se você fornecesse um data.frame. Agora não está claro o que é um fator de agrupamento. Eu julgo que éβ. Em seguida, na lmenotação, seu modelo deve ser escrito da seguinte maneira:

lme(y~a,random=~a|b, data=mydata)

Olá mpiktas, obrigado pela sua resposta, mas o resultado R é muito diferente do procedimento misto proc SAS. A saída do SAS é a mesma com a resposta em um livro didático (Kuehk RO. 1999. Design de experimentos: princípios estatísticos de design e análise de pesquisa, 2ª edição). O conjunto de dados é o nível do dia do método 1 1 142,3 1 1 144,0 1 2 134,9 1 2 146,3 1 3 148,6 1 3 156,5 1 4 152,0 1 4 151,4 2 1 142,9 2 1 147,4 2 2 125,9 2 2 127,6 2 3 135,5 2 3 138,9 2 4 142,9 2 4 142,3
Tu.2 17/05
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.