[R-br] Predição de dados - Modelagem

Benilton Carvalho beniltoncarvalho em gmail.com
Quinta Maio 3 21:55:46 BRT 2012


essa afirmacao esta' incorreta... o numero de linhas do segundo
conjunto de dados e' independente do numero de linhas do primeiro:

set.seet(1)
x = 1:10
y = 1+2*x+rnorm(10)
tmp1 = data.frame(x=x, y=y) ## 10 obs
rm(x,y)
fit = lm(y~x, data=tmp1)
summary(fit)
tmp2 = data.frame(x=runif(4, 1, 10))
predict(fit, newdata=tmp2) ## 4 predicoes apenas
tmp3 = data.frame(x=runif(100, 1, 10))
predict(fit, newdata=tmp3) ## 100 predicoes

b

2012/5/3 Fernando Antonio de souza <nandodesouza em gmail.com>:
> seu segundo banco de dados deve ter a mesma dimensão do primeiro do
> primeiro. crie uma variável para guardar os valores da função predict e
> confira a dimensão do vetor usando a função dim(variável) e  veja o número
> de dimensões do seu segundo banco de dados dim(dados2)[1]. se seu segundo
> banco de dados for maior do que o núvero de valores contidos na variável
> então seu comando não irá funcionar.
> Uma solução é você rodar seu modelo utilizando apenas o  subgrupo de dados
> que você pretende utilizar no banco de dados 2. para isto utilize o comando
> subset da  função lm.
>
> Em 3 de maio de 2012 18:25, Sérgio Henrique almeida da silva ju
> <sergio.edfisica em gmail.com> escreveu:
>>
>> Olá
>>
>> Rodei um modelo:
>>
>> reg1<-lm(est ~ e1 + f1 + g1 + i1 + k1 + m1 + o1 + r1 + s1 + t1, data =
>> dados)
>> summary (reg1)$coefficients
>>
>>              Estimate Std. Error   t value      Pr(>|t|)
>> (Intercept) 33.811287  0.7983445 42.351753 1.557462e-202
>> e1          -3.300681  1.0234877 -3.224934  1.313683e-03
>> f1          -1.602262  0.6537985 -2.450697  1.448143e-02
>> g1          -1.337623  0.6721036 -1.990203  4.692499e-02
>> i1          -6.224414  0.9810556 -6.344608  3.820429e-10
>> k1          -1.279617  0.5544328 -2.307975  2.126718e-02
>> m1          -1.569079  0.5133349 -3.056638  2.316421e-03
>> o1           2.984603  1.6371984  1.822994  6.869551e-02
>> r1           1.340099  0.6338281  2.114295  3.481391e-02
>> s1           1.598583  0.4717877  3.388352  7.392205e-04
>> t1           6.286149  0.9227351  6.812518  1.946057e-11
>>
>>
>> E gostaria de criar uma variável em um outro banco (dados2) com a
>> estimação da minha variável gerada pelo meu modelo, estou usando o seguinte
>> comando, porém dá um erro.
>>
>> dados2$estim=predict(idfu.reg1, dados2, se.fit = F)
>> Error in `$<-.data.frame`(`*tmp*`, "esqui", value = list(fit =
>> c(37.4586673781906,  :
>>   replacement has 4 rows, data has 5565
>>
>> Como posso fazer isso?
>> --
>> Sérgio Henrique Almeida da Silva Junior
>> Doutorando em Epidemiologia em Saúde Pública
>> Escola Nacional de Saúde Pública Sérgio Arouca - ENSP/FIOCRUZ
>> http://lattes.cnpq.br/1611345552843383
>> Tel: (21) 94429486/78101651 id: 123*20942
>>
>>
>>
>> _______________________________________________
>> R-br mailing list
>> R-br em listas.c3sl.ufpr.br
>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>> código mínimo reproduzível.
>
>
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código
> mínimo reproduzível.


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