Extrair um vetor de diversos ajustes

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

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@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@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)

Gustavo, Dê uma olhadinha em http://www.leg.ufpr.br/doku.php/pessoais:walmes:cursorufgd#procedimento_para... À disposição. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================

Obridado pela ajuda. Resolveu o problema. Gustavo Marcatti Eng. Florestal UFV ________________________________ De: Walmes Zeviani <walmeszeviani@gmail.com> Para: r-br@listas.c3sl.ufpr.br Enviadas: Quarta-feira, 4 de Maio de 2011 12:49:29 Assunto: Re: [R-br] Extrair um vetor de diversos ajustes Gustavo, Dê uma olhadinha em http://www.leg.ufpr.br/doku.php/pessoais:walmes:cursorufgd#procedimento_para... À disposição. Walmes. ========================================================================== Walmes Marques Zeviani LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W) Departamento de Estatística - Universidade Federal do Paraná fone: (+55) 41 3361 3573 VoIP: (3361 3600) 1053 1173 e-mail: walmes@ufpr.br twitter: @walmeszeviani homepage: http://www.leg.ufpr.br/~walmes linux user number: 531218 ==========================================================================
participantes (3)
-
Benilton Carvalho
-
Gustavo Marcatti
-
Walmes Zeviani