[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