[R-br] Regressão logística ordinal e uso de pesos amostrais | CROSSTAB

Luciane Maria Pilotto lutipilotto em yahoo.com.br
Sábado Dezembro 13 00:21:08 BRST 2014


Boa noite,

antes de rodar as regressões preciso fazer as tabelas de contingencia utilizando os pesos amostrais com a função "crosstab" e não está dando certo. O pvalor está aparecendo como 0.

A função polr tb permite usar os pesos amostrais, porém, não consigo identificar o erro que está acusando. A função svyolr pode ser uma alternativa, mas gostaria de decifrar este este problema para uso em outras situações.

Segue abaixo o script e uma parte do banco para testes. 

Ajudas são bem vindas!
----------------------------------------------------------------------------------------------------------------
##Banco id3 - banco parcial para testes

load("id3.rda")
attach(id3)

id3$q11 <- as.factor(id3$q11)
id3$q13 <- as.factor(id3$q13)

table(q11,q13, useNA="always")

#Não está informando o pvalor ao usar os pesos amostrais! - variável para peso="bwgr_et" ou "peso" 
crosstab(q11, q13, weight = bwgr_et, digits = 1, expected = TRUE, prop.r=TRUE, prop.c=TRUE, chisq = TRUE, 
	  format = "SPSS", dnn = c("local atend","satisfação"), plot = FALSE,data=id3)


###############################################

#reportando erro em optim(s0, fmin, gmin, method = "BFGS", ...) :   valor inicial em vmmin não é finito
m1 <- polr(q13 ~ q11 , method="logistic", data=id3, weights=peso, Hess=TRUE)
summary(m1)
ordinal.or.display(m1)




__________________________________________________
Luciane Maria Pilotto
Mestre e Doutoranda em Saúde Bucal Coletiva - FO/UFRGS 


--------------------------------------------
Em sáb, 29/11/14, Leonardo Ferreira Fontenelle <leonardof em leonardof.med.br> escreveu:

 Assunto: Re: [R-br] Regressão logística ordinal e uso de pesos amostrais
 Para: r-br em listas.c3sl.ufpr.br
 Data: Sábado, 29 de Novembro de 2014, 22:25
 
 Se você quer usar pesos
 de amostragem, o pacote survey é a única forma
 que conheço no R. Se você quer usar as
 variáveis do data frame "id",
 precisa passá-lo como argumento para a
 função svydesign. Por favor,
 forneça um
 código mínimo reprodutível, incluindo acesso a dados e
 os
 dois comandos (svyolr e svydesign com
 dados).
 
 -- 
 Leonardo Ferreira Fontenelle
 http://lattes.cnpq.br/9234772336296638
 
 Em Sex 28 nov. 2014, às
 16:27, Luciane Maria Pilotto escreveu:
 >
 Ah, não Leonardo, já havia alterado e dá o mesmo
 erro!!
 > 
 > 
 > 
 > 
 > Enviado do Windows
 >
 
 >
 --------------------------------------------
 > Em qui, 27/11/14, Leonardo Ferreira
 Fontenelle
 > <leonardof em leonardof.med.br>
 escreveu:
 > 
 > 
 Assunto: Re: [R-br] Regressão logística ordinal e uso de
 pesos amostrais
 >  Para: r-br em listas.c3sl.ufpr.br
 >  Data: Quinta-feira, 27 de Novembro de
 2014, 21:11
 >  
 > 
 No comando abaixo:
 >  
 >  dstrat<-svydesign(ids=~1,
 >  probs=NULL, strata = NULL, variable =
 NULL,
 >  fpc=NULL, data = NULL, nest =
 FALSE,
 >  weights=~peso,pps=FALSE)
 >  
 >  Você
 provavelmente quer passar o argumento
 > 
 "data = id", em vez de "data
 >  = NULL".
 >  
 >  -- 
 >  Leonardo
 Ferreira
 >  Fontenelle
 >  http://lattes.cnpq.br/9234772336296638
 >  
 >  Em Qui 27 nov.
 2014, às
 >  14:58, Luciane Maria
 Pilotto escreveu:
 >  >
 >  Não consegui usar o comando svyolr,
 está dando os erros
 >  abaixo.
 >  > 
 >  > #
 >  Utilizando as variáveis criadas q11 e
 q13 que foram
 >  transformadas em
 >  > fator:
 >  >
 
 >  > > id$q11 <-
 >  as.factor(id$q11)
 > 
 > > id$q13 <-
 > 
 as.factor(id$q13)
 >  > 
 >  >
 >  
 >  > >
 dstrat<-svydesign(ids=~1,
 > 
 probs=NULL, strata = NULL, variable = NULL, fpc=NULL,
 >  > + data = NULL, nest = FALSE,
 >  weights=~peso,pps=FALSE)
 >  > > dstrat
 > 
 > Independent Sampling design (with
 >  replacement)
 >  >
 svydesign(ids = ~1, probs
 >  = NULL,
 strata = NULL, variable = NULL, 
 > 
 >     fpc = NULL, data = NULL,
 > 
 nest = FALSE, weights = ~peso, pps = FALSE)
 >  > 
 >  >
 >
 >  svyolr(q13~q11,design=dstrat,
 >  method="logistic")
 >  > Erro em
 > 
 svyolr.survey.design2(q13 ~ q11, design = dstrat, method
 >  =
 >  >
 "logistic") : 
 > 
 >   response must be a factor
 > 
 > 
 >  > 
 > 
 > # Utilizando as variáveis quest_11 e
 >  quest_13 que são fatores no banco:
 >  >
 >  >
 svyolr(quest_13~quest_11,design=dstrat,
 >  method="logistic")
 >  > Erro em
 > 
 tapply(1:NROW(x), list(factor(strata)), function(index) {
 :
 >  
 > 
 >   arguments must have same
 > 
 length
 >  > 
 > 
 >
 > 
 ==========================================================
 >  > 
 >  > Eu tb
 poderia usar
 >  os pesos amostrais nas
 tabelas de contingencia, no
 >  >
 entanto, tb não consigo usar os pesos
 >  nestas. Utilizei o comando crosstab
 >  >
 > 
 (crosstab(q11, q13, peso, expected = TRUE,chisq = TRUE,
 plot
 >  = FALSE)).
 >  > 
 >  >
 Dicas
 >  com outros comandos que
 utilizam os pesos amostrais são
 > 
 bem
 >  > vindas!!!
 >  > 
 >  >
 > 
 __________________________________________________
 >  > Luciane Maria Pilotto
 >  >
 >  Mestre
 e Doutoranda em Saúde Bucal Coletiva -
 >  FO/UFRGS 
 >  >
 
 >  > 
 >  >
 > 
 --------------------------------------------
 >  > Em ter, 25/11/14, Leonardo
 Ferreira
 >  Fontenelle
 >  > <leonardof em leonardof.med.br>
 >  escreveu:
 >  >
 
 >  > 
 > 
 Assunto: Re: [R-br] Regressão logística ordinal e uso
 de
 >  pesos amostrais
 >  >  Para: r-br em listas.c3sl.ufpr.br
 >  >  Data: Terça-feira, 25 de
 Novembro de
 >  2014, 17:09
 >  >  
 >  > 
 >  
 >  >  
 >  >  
 >  > 
 
 >  >  
 > 
 >  Não serve a
 >  > 
 > 
 http://r-survey.r-forge.r-project.org/survey/html/svyolr.html?
 >  >  
 >  > 
  
 >  >  Leonardo Ferreira
 >  > 
 > 
 Fontenelle
 >  >  
 >  > 
 >  
 >  >   
 >  > 
  
 >  >  Em Ter 25 nov. 2014, às
 15:36, lutipilotto em yahoo.com.br
 >  >  escreveu:
 > 
 >  
 >  >  Olá,
 >  >  
 >  > 
  
 >  >  estou tentando
 >  rodar regressão logística ordinal e
 >  > 
 >  não estou
 conseguindo usar os pesos amostrais, está
 >  dando
 >  >  o
 seguinte erro:
 >  >  
 >  >   
 >  > 
 > m11 <- polr(q13 ~ q11 ,
 > 
 >  method="logistic", weights =
 >  peso, data=id,
 > 
 >  Hess=TRUE)
 >  >  
 >  >  Aviso: glm.fit:
 >  fitted probabilities numerically 0 or
 1
 >  >  occurred
 >  >  
 >  > 
 Erro em optim(s0, fmin, gmin, method
 > 
 =
 >  >  "BFGS", ...) : 
 >  >  
 >  >   
 valor inicial
 >  em vmmin não é
 finito
 >  >  
 > 
 >   
 >  >  *A variável
 >  q13 possui 5 ctegorias (1,2,3,4,5) e
 a
 >  >  variável q11 possui 4
 categorias
 >  (1,2,3,4).
 >  >  
 >  > 
 >   
 >  >  Tem
 como solicitar o qui-quadrado,
 >  o
 número de
 >  >  observações e o
 pseudo
 >  R2 no mesmo comando utilizado
 para
 >  > 
 > 
 reg. log. ord.?
 >  >  
 >  >   
 >  > 
 Como utilizar
 >  o peso amostral nas
 tabelas de
 >  > 
 >  contingência? Estou usando os seguintes
 comandos:
 >  >  
 >  > 
 > 
 table(q11,q13)
 >  >  
 >  >  rowPercents(table(q11,q13))
 >  >  
 >  > 
 ou
 >  >  
 > 
 >  CrossTable(q11,
 >  q13,
 digits=2,
 >  >  expected=TRUE,
 >  prop.r=TRUE, prop.c=TRUE,
 >  >  
 >  > 
           
 >  > 
 prop.t=FALSE,prop.chisq=FALSE, chisq =
 >  FALSE, 
 >  > 
 
 >  > 
 > 
           
 >  > 
 >  format=c("SPSS"), dnn =
 c("local
 >  > 
 > 
 atend","satisfação"))
 >  >  
 >  > 
  
 >  >   
 > 
 > 
 >   Atenciosamente,
 >  > 
 > 
 Luciane M. Pilotto
 >  > 
 Doutoranda em
 >  Saúde Bucal
 Coletiva/UFRGS
 >  >   
 >  >  Enviado do Email do Windows
 >  >  
 >  > 
  
 >  >   
 > 
 >  
 >  >  
 >  > 
 > 
 _______________________________________________
 >  >  
 >  > 
 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.
 > 
 >  
 >  >   
 >  >  
 >  > 
 
 >  >  -----Anexo
 >  incorporado-----
 > 
 >  
 >  > 
 > 
 _______________________________________________
 >  >  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.
 > 
 _______________________________________________
 >  R-br mailing list
 > 
 R-br em listas.c3sl.ufpr.brhttps://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.
 _______________________________________________
 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