[R-br] Extrair P-value do resultado de uma imputação com MICE
Paulo Nogueira Starzynski
paulons em gmail.com
Sexta Abril 21 10:55:13 BRT 2017
Elias,
as vezes algumas estruturas são realmente menos intuitivas do que outras.
Essa por exemplo eu não matei de cara, tive que invetigar um pouco. O lance
foi perceber que a saída da função summary(fit) era na verdade uma lista
com 5 "coisas", e você queria o p-valor da última delas.
imp <- mice(nhanes2)
fit <- with(imp, lm(chl~age+bmi))
summary(fit)
class(fit) #objeto do tipo *mira* (em geral quando eles são de tipos
estranhos na verdade eles são listas)
is.list(fit) #TRUE
length(fit) # 4 objetos na lista
names(fit) # os nomes deles
# avaliando cada um deles
fit$call # não tem o que precisamos nesse caso
fit$call1 # não tem o que precisamos nesse caso
fit$nmis # não tem o que precisamos nesse caso
fit$analyses # é uma lista, contendo 5 modelos. o último deles nos
interessa
Ou seja, temos uma lista dentro de uma lista, mas acessar é fácil:
summary(fit[[4]][[5]]) # agora sim é um summary comum
summary(fit[[analyses]][[5]]) # dá no mesmo... é o mesmo acesso
Embora esse summary não tenha o p-valor que você procura, ele possui as
informações para consultar a distribuição F e obtê-lo. Somente essa parte
final está relacionada à estatística propriamente dita, o resto vem
simplesmente de fuçar os objetos do R.
Como dica, se acostume a usar e abusar de funções como str(), class(),
names() e length(). Facilita a entender como os objetos estão estruturados.
Abraços,
Paulo
Em 21 de abril de 2017 10:38, Elias Carvalho via R-br <
r-br em listas.c3sl.ufpr.br> escreveu:
> Excelente trabalho Paulo, muitíssimo obrigado, me ajudou muito.
>
> Eu gostaria de conhecer melhor essa estrutura para entender como você
> chegou ai, ontem eu fiquei horas tentando e nada.
>
> Tenho trabalhado com o R a algum tempo, não sou estatístico, sou da
> computação.
>
> Alguma dica de onde estudar isso, ou somente na prática mesmo ?
>
>
>
> 2017-04-20 20:30 GMT-03:00 Elias Carvalho <ecacarva em gmail.com>:
>
>> Boa noite pessoal
>>
>> Estou testando o pacote mice para fazer imputação múltipla de dados
>> missing, conforme exemplo:
>>
>> library(mice)
>>
>> imp <- mice(nhanes2)
>> fit <- with(imp, lm(chl~age+bmi))
>>
>> summary(fit)
>>
>> O resultado se resume em:
>>
>> ## summary of imputation 1 :
>>
>> Call:
>> lm(formula = chl ~ age + bmi)
>>
>> Residuals:
>> Min 1Q Median 3Q Max
>> -46.37 -19.23 -11.24 12.66 83.69
>>
>> Coefficients:
>> Estimate Std. Error t value Pr(>|t|)
>> (Intercept) 32.134 53.202 0.604 0.55232
>> age2 49.058 18.153 2.702 0.01334 *
>> age3 62.837 19.886 3.160 0.00472 **
>> bmi 4.907 1.795 2.733 0.01246 *
>> ---
>> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
>>
>> Residual standard error: 34.89 on 21 degrees of freedom
>> Multiple R-squared: 0.3835, Adjusted R-squared: 0.2954
>> F-statistic: 4.354 on 3 and 21 DF, p-value: 0.01557
>>
>>
>> Eu gostaria de extrair o p-value: 0.01557 dessa estrutura, mas não
>> consegui com os métodos convencionais, pois a estrutura parece diferente da
>> estrutura gerada por um lm ou glm.
>>
>> Alguém poderia me ajudar
>>
>> --
>>
>>
>> *In Jesu et Maria*
>> *Obrigado*
>> *Prof. Elias Carvalho*
>>
>> *"Felix, qui potuit rerum cognoscere causas" (Virgil 29 BC)"Blessed is he
>> who has been able to understand the cause of things"*
>>
>
>
>
> --
>
>
> *In Jesu et Maria*
> *Obrigado*
> *Prof. Elias Carvalho*
>
> *"Felix, qui potuit rerum cognoscere causas" (Virgil 29 BC)"Blessed is he
> who has been able to understand the cause of things"*
>
> _______________________________________________
> 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.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20170421/e92b73bb/attachment.html>
Mais detalhes sobre a lista de discussão R-br