o seu exp2 e' uma lista de listas... note que a funcao usada para exp2 retorna "list(preditos)", ao inves de 'preditos' apenas...<div><br></div><div>adicionalmente, vc nao quer do.call('rbind', exp2), mas sim do.call('c', exp2), ou - muito mais simples - unlist(exp2).</div>

<div><br></div><div>mas, o melhor mesmo, seria vc ajustar o modelo de uma vez so:</div><div><br></div><div>##start</div><div><div>osDados <- dados</div><div>osDados[['caso']] <- factor(osDados[['caso']])</div>

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

<div>            caso2=c(0, 1, 0, 0, 1, 0),</div><div>            caso3=c(0, 1, 0, 0, 0, 1))</div><div><br></div><div>interceptos <- b0 %*% coef(fit)</div><div>coefAngular <- b1 %*% coef(fit)</div><div><br></div><div>

library(gmodels)</div><div>estimable(fit, b0)</div><div>estimable(fit, b1)</div><div><br></div><div>pred <- predict(fit)</div></div><div>## end</div><div><br></div><div>b</div><div><br><div class="gmail_quote">2011/5/4 Gustavo Marcatti <span dir="ltr"><<a href="mailto:vgp.gustavo@yahoo.com.br">vgp.gustavo@yahoo.com.br</a>></span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div style="font-family:times new roman, new york, times, serif;font-size:10pt"><div>Bom dia a todos!</div>
<div>Quando desejo extrair os coeficientes de diversos ajustes, por exemplo, procedo da seguinte maneira:</div>
<div>x<-1:60<br>y<-rep(sort(abs(rnorm(20))),3)<br>caso <- rep(1:3,each = 20)<br>dados <- data.frame(caso,x,y)</div>
<div>exp1 <- lapply(split(dados,dados["caso"]),FUN=function(data){<br>            coefs <- coef(lm(y ~ x, data=data))<br>            unlist(coefs)<br>        })</div>
<div>do.call("rbind",exp1)</div>
<div> </div>
<div>Minha dúvida é como faço para extrair um vetor de varios casos, assim como no exemplo abaixo:</div>
<div>exp2 <- lapply(split(dados,dados["caso"]),FUN=function(data){<br>            preditos <- fitted(lm(y ~ x, data=data))<br>            list(preditos)<br>        })</div>
<div>do.call("rbind",exp2)</div>
<div> </div>
<div>O resultado esperado seria um único vetor de tamanho 60 x 1 contendo todos os valores preditos para cada ajuste.</div>
<div> </div>
<div>Obs1: Esse exemplo é apenas para ilustrar, não é o que realmente estou precisando.</div>
<div>Obs2: Os casos tem tamanhos variados, não exatamente 20 observações.</div>
<div> </div><font color="#888888">
<div>Gustavo Marcatti</div>
<div>Eng. Florestal </div>
<div>UFV</div>
<div> </div>
<div> </div>
<div> </div></font></div></div><br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Successful people ask better questions, and as a result, they get better answers. (Tony Robbins)<br>
</div>