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

2014-12-22 Por tôpico Luciane Maria Pilotto
Os comandos estão abaixo.

###
 Acho que o valor é zero
 mesmo. Olhei o código da função
 print.htest() e descobri que o problema é que
 nela é valor é
 impresso por format.pval()
 enquanto a função print.CrossTable() usa
 cat(). Confira:
 
 # Início do código
 
 library(foreign)
 library(descr)
 
 ##Banco id3 - banco parcial para testes
 load(id3.rda)
 
 id3$q11 - as.factor(id3$q11)
 id3$q13 - as.factor(id3$q13)
 
 # attach() deve ficar depois
 de finalizada a manipulação dos dados
 attach(id3)
 
 table(q11,q13, useNA=always)
 
 # valor p é informado como
 0
 ct - 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)
 
 # O teste
 de qui-quadrado está guardado no objeto ct:
 print(ct$CST$p.value, digits = 16)
 print(ct$CST)
 format.pval(ct$CST$p.value)
 
 # FIM do código
 
 Vou corrigir a função print.CrossTable. 
 
 -- 
 Jakson
 Alves de Aquino
 www.lepem.ufc.br/aquino.php
 ___
 R-br mailing list
 R-br@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@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.


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

2014-12-18 Por tôpico Luciane Maria Pilotto
4993117762048 616 294   19727
 25.3 59.710.4 3.1 1.5
==

Estatísticas para todos os fatores da tabela

Pearson's Chi-squared test 

Qui² = 210.3717  g.l. = 12  p = 2.343732e-38 

Frequência esperada mínima: 4.873422 
Células com frequências esperada  5: 1 de 20 (5%)


Atenciosamente,
Luciane Pilotto

Em sáb, 13/12/14, Jakson Alves de Aquino jalve...@gmail.com escreveu:

 Assunto: Re: [R-br] Regressão logística  ordinal e uso de pesos amostrais | 
CROSSTAB
 Para: r-br@listas.c3sl.ufpr.br
 Data: Sábado, 13 de Dezembro de 2014, 12:51
 
 On Fri, Dec 12, 2014 at
 06:21:08PM -0800, Luciane Maria Pilotto wrote:
  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.
 
 [...]
 
 Acho que o valor é zero
 mesmo. Olhei o código da função
 print.htest() e descobri que o problema é que
 nela é valor é
 impresso por format.pval()
 enquanto a função print.CrossTable() usa
 cat(). Confira:
 
 # Início do código
 
 library(foreign)
 library(descr)
 
 ##Banco id3 - banco parcial para testes
 load(id3.rda)
 
 id3$q11 - as.factor(id3$q11)
 id3$q13 - as.factor(id3$q13)
 
 # attach() deve ficar depois
 de finalizada a manipulação dos dados
 attach(id3)
 
 table(q11,q13, useNA=always)
 
 # valor p é informado como
 0
 ct - 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)
 
 # O teste
 de qui-quadrado está guardado no objeto ct:
 print(ct$CST$p.value, digits = 16)
 print(ct$CST)
 format.pval(ct$CST$p.value)
 
 # FIM do código
 
 Vou corrigir a função print.CrossTable. 
 
 -- 
 Jakson
 Alves de Aquino
 www.lepem.ufc.br/aquino.php
 ___
 R-br mailing list
 R-br@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@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.


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

2014-12-18 Por tôpico Jakson Alves de Aquino
2014-12-18 19:52 GMT-05:00 Luciane Maria Pilotto lutipilo...@yahoo.com.br:
 Obrigada pela ajuda! Com estes comandos é possível verificar o pvalue, pois o 
 valor não é zero.

 O estranho é que o pvalor só aparece como zero ao usar os pesos amostrais na 
 função crosstab!

Talvez o p-valor seja diferente nos dois casos porque o código usado
para exibi-lo na tela é o mesmo nos dois casos. A sequência é a
seguinte:

  1. A função crosstab usa a função xtabs() para fazer uma tabela de X
 Y considerando os pesos.
  2. A tabela é repassada para a função CrossTable(), que cria um
objeto com a tabela, valores esperados, teste de qui-quadrado, etc.
  3. A função print.CrossTable() formata o objeto para exibição.

Ou seja, tanto faz usar crosstab() (com ou sem pesos) como usar
CrossTable() diretamente porque quem exibe o p-valor é
print.CrossTable().

Eu mantenho o pacote descr e já fiz a correção no github
(https://github.com/jalvesaq/descr), mas ainda não enviei para o CRAN.
Se você não estiver usando Windows, será fácil compilar o pacote a
partir do código fonte.

-- 
Jakson
___
R-br mailing list
R-br@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.


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

2014-12-13 Por tôpico Jakson Alves de Aquino
On Fri, Dec 12, 2014 at 06:21:08PM -0800, Luciane Maria Pilotto wrote:
 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.

[...]

Acho que o valor é zero mesmo. Olhei o código da função
print.htest() e descobri que o problema é que nela é valor é
impresso por format.pval() enquanto a função print.CrossTable() usa
cat(). Confira:

# Início do código

library(foreign)
library(descr)

##Banco id3 - banco parcial para testes
load(id3.rda)

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

# attach() deve ficar depois de finalizada a manipulação dos dados
attach(id3)

table(q11,q13, useNA=always)

# valor p é informado como 0
ct - 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)

# O teste de qui-quadrado está guardado no objeto ct:
print(ct$CST$p.value, digits = 16)
print(ct$CST)
format.pval(ct$CST$p.value)

# FIM do código

Vou corrigir a função print.CrossTable. 

-- 
Jakson Alves de Aquino
www.lepem.ufc.br/aquino.php
___
R-br mailing list
R-br@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.


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

2014-12-12 Por tôpico Luciane Maria Pilotto
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 leonar...@leonardof.med.br 
escreveu:

 Assunto: Re: [R-br] Regressão logística ordinal e uso de pesos amostrais
 Para: r-br@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
  leonar...@leonardof.med.br
 escreveu:
  
  
 Assunto: Re: [R-br] Regressão logística ordinal e uso de
 pesos amostrais
   Para: r-br@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
    leonar...@leonardof.med.br
   escreveu:
   
 
    
  
 Assunto: Re: [R-br] Regressão logística ordinal e uso
 de
   pesos