Identifier l'évolution dans le temps d'une variable factorielle

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

Tai PHAM
Messages : 47
Enregistré le : 18 Jan 2011, 11:58

Identifier l'évolution dans le temps d'une variable factorielle

Messagepar Tai PHAM » 27 Aoû 2018, 16:26

Bonjour à tous,

je travaille sur une base de données observationnelle collectant l'administration d'antibiotiques sur une période de 30 jours.
Les variables sont les suivantes:
- antibiotique à J1 variable factorielle (0=non, 1=oui) : atb_J1
- antibiotique à J2 variable factorielle (0=non, 1=oui) : atb_J2
- antibiotique à J3 variable factorielle (0=non, 1=oui) : atb_J3
...
- Date J1: date_J1
- Date J2: date_J2
...

Je souhaiterais trouver une solution pour identifier le dernier jour de traitement sans avoir à écrire un script compliqué utilisant "ifelse()" pour chacun des jours

Code : Tout sélectionner

db$date_stop<-ifelse(db$atb_J2=="0", db$date_J1,
               ifelse(db$atb_J3=="0", db$date_J2,
               ifelse(db$atb_J4=="0", db$date_J3,
               ....))
               
               


Merci de vos conseils,

Tài Pham

Serge Rapenne
Messages : 1426
Enregistré le : 20 Aoû 2007, 15:17
Contact :

Re: Identifier l'évolution dans le temps d'une variable factorielle

Messagepar Serge Rapenne » 27 Aoû 2018, 18:19

bonjour,

sans un exemple du jeu de données, il va être difficile de données une solution precise à ta question.

au vue des informations données, je pense qu'il faut aller voir du coté des fonction du type by, aggragate, tapply lié à la recherche du max(date) des données groupées (ou avec la fonction group_by de dplyr)

Serge

Pierre-Yves Berrard
Messages : 1029
Enregistré le : 12 Jan 2016, 23:30

Re: Identifier l'évolution dans le temps d'une variable factorielle

Messagepar Pierre-Yves Berrard » 27 Aoû 2018, 20:17

Code : Tout sélectionner

apply(
  db[paste0("atb_J", 1:30)],
  1,
  which.min
)
donnerait le jour du premier zéro pour chaque ligne.

Non testé.
PY


Retourner vers « Questions en cours »

Qui est en ligne

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