regression logistique conditionnelle

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Benjamin Naffrechoux
Messages : 6
Enregistré le : 03 Juil 2017, 09:01

regression logistique conditionnelle

Messagepar Benjamin Naffrechoux » 12 Juil 2017, 10:01

Bonjour,
J'aimerais faire une régression logistique conditionnelle sur un jeu de données appariées.
J'utilise donc la fonction clogit() du package survival, comme ceci (analyse univariée):

Code : Tout sélectionner

clogit(STATUT~ETUDES+strata(ID),data = descT)

Et ça me renvoie ça:

Code : Tout sélectionner

Error in coxph(formula = Surv(rep(1, 1498L), STATUT) ~ ETUDES + strata(ID),  :
  Cox model doesn't support "mright" survival data


L'appariement est en 2 pour 1 (sur l'âge te le sexe), sauf pour 2 "groupes" où il est en 1 pour 1. J'ai refait la même chose en supprimant ces 2 groupes, et ça marque la même chose, alors a priori le problème n'est pas là.
Ma variable explicative ETUDES est une variable factorielle avec 4 groupes (codés 1 à 4).
Quel est d'après vous le truc qui coince?

Voici une partie de ma bdd:

Code : Tout sélectionner

head(descT)
# A tibble: 6 x 8
       ID STATUT      AGE   SEXE ETUDES  TABAC TABAC_PA
    <int> <fctr>    <dbl> <fctr> <fctr> <fctr>   <fctr>
1 1400002    cas 43.92608      1      4      0        0
2 1400002 témoin 45.41821      1      2      2        3
3 1400002 témoin 46.20945      1      4      0        0
4 1400003    cas 49.85626      1      2      1        3
5 1400003 témoin 51.59206      1      4      2        3
6 1400003 témoin 47.94524      1      4      1        3
# ... with 1 more variables: ALCOOL <fctr>
>

Benjamin Naffrechoux
Messages : 6
Enregistré le : 03 Juil 2017, 09:01

Re: regression logistique conditionnelle

Messagepar Benjamin Naffrechoux » 12 Juil 2017, 14:59

J'ai un peu manipulé ma bdd pour voir comment appliquer la formule.

Et du coup, avec ce code là, ça a l'air de marcher:

Code : Tout sélectionner

 regE$STATUT<-as.integer(regE$STATUT)
> regE$ETUDES<-as.integer(regE$ETUDES)
> View(regE)
> clogit(STATUT~ETUDES + strata(ID),data = regE)
Call:
clogit(STATUT ~ ETUDES + strata(ID), data = regE)

          coef exp(coef) se(coef)     z     p
ETUDES -0.2044    0.8151   0.0565 -3.62 3e-04

Likelihood ratio test=13.4  on 1 df, p=0.000254
n= 1497, number of events= 500
   (1 observation deleted due to missingness)

J'ai juste considérer mes variables catégorielles comme des integer, et la formule a l'air de marcher.
Auriez-vous une explication?
Est ce que mes résultats sont bien justes?

Eric Wajnberg
Messages : 776
Enregistré le : 11 Aoû 2008, 15:37
Contact :

Re: regression logistique conditionnelle

Messagepar Eric Wajnberg » 13 Juil 2017, 10:13

Une explication possible, je ne sais, est que la variable à expliquer, i.e., à gauche du signe tide "~", dans le package survival, doit être un objet produit part la fonction Surv(). C'est en tout cas le cas pour l’ajustement d'un modèle de Cox avec coxph(). Je n'ai jamais utiliser clogit(), cependant.

HTH, Eric.


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité