[R-br] Extrair um vetor de diversos ajustes

Benilton Carvalho beniltoncarvalho em gmail.com
Quarta Maio 4 11:35:03 BRT 2011


o seu exp2 e' uma lista de listas... note que a funcao usada para exp2
retorna "list(preditos)", ao inves de 'preditos' apenas...

adicionalmente, vc nao quer do.call('rbind', exp2), mas sim do.call('c',
exp2), ou - muito mais simples - unlist(exp2).

mas, o melhor mesmo, seria vc ajustar o modelo de uma vez so:

##start
osDados <- dados
osDados[['caso']] <- factor(osDados[['caso']])

fit <- lm(y~x*caso, data=osDados)
b0 <- rbind(caso1=c(1, 0, 0, 0, 0, 0),
            caso2=c(1, 0, 1, 0, 0, 0),
            caso3=c(1, 0, 0, 1, 0, 0))
b1 <- rbind(caso1=c(0, 1, 0, 0, 0, 0),
            caso2=c(0, 1, 0, 0, 1, 0),
            caso3=c(0, 1, 0, 0, 0, 1))

interceptos <- b0 %*% coef(fit)
coefAngular <- b1 %*% coef(fit)

library(gmodels)
estimable(fit, b0)
estimable(fit, b1)

pred <- predict(fit)
## end

b

2011/5/4 Gustavo Marcatti <vgp.gustavo em yahoo.com.br>

> Bom dia a todos!
> Quando desejo extrair os coeficientes de diversos ajustes, por exemplo,
> procedo da seguinte maneira:
> x<-1:60
> y<-rep(sort(abs(rnorm(20))),3)
> caso <- rep(1:3,each = 20)
> dados <- data.frame(caso,x,y)
> exp1 <- lapply(split(dados,dados["caso"]),FUN=function(data){
>             coefs <- coef(lm(y ~ x, data=data))
>             unlist(coefs)
>         })
> do.call("rbind",exp1)
>
> Minha dúvida é como faço para extrair um vetor de varios casos, assim como
> no exemplo abaixo:
> exp2 <- lapply(split(dados,dados["caso"]),FUN=function(data){
>             preditos <- fitted(lm(y ~ x, data=data))
>             list(preditos)
>         })
> do.call("rbind",exp2)
>
> O resultado esperado seria um único vetor de tamanho 60 x 1 contendo todos
> os valores preditos para cada ajuste.
>
> Obs1: Esse exemplo é apenas para ilustrar, não é o que realmente estou
> precisando.
> Obs2: Os casos tem tamanhos variados, não exatamente 20 observações.
>
> Gustavo Marcatti
> Eng. Florestal
> UFV
>
>
>
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>
>


-- 
Successful people ask better questions, and as a result, they get better
answers. (Tony Robbins)
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20110504/692e4ca5/attachment.html>


Mais detalhes sobre a lista de discussão R-br