IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

R Discussion :

Calcul d'indicateur sur une variable biniare


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Data scientist
    Inscrit en
    Février 2017
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data scientist
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2017
    Messages : 211
    Par défaut Calcul d'indicateur sur une variable biniare
    Bonjour, j'ai une table qui se présente comme ca.

    par client j'ai un indicateur d'ouverture : 1 si ouverture et 0 sinon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tab = data.frame( id = c(rep('Cli1', 8), rep('Cli2',12)) , ouverture =  c( 0,0,0,0,0,1,0,1,  rep(0,12)))
    Je veux calculer par client combien d'émail pas ouvert après la dernière ouverture.

    Dans mon exemple , cli1 c'est 5 ( puisque qu'il a ouvert le 6ème email) et cli2 c'est 12 puisqu'il a ouvert aucun email.

    Merci de votre aide.

  2. #2
    Membre Expert
    Inscrit en
    Novembre 2009
    Messages
    707
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 707
    Par défaut Calcul d'indicateur sur une variable binaire
    Bonjour,

    Une proposition :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    > tab$RepNo <- sequence(rle(as.vector(tab$id))$lengths)
    > Ouv1 <- setNames(aggregate(RepNo ~ id, tab[which(tab$ouverture == 1),],FUN=min),c("id","Ouv1"))
    > RepMax <- setNames(aggregate(RepNo ~ id, tab,FUN=max),c("id","RepMax"))
    > resultat <- merge(Ouv1,RepMax,by="id",all=TRUE)
    > resultat$NbNonOuv <- ifelse(!is.na(resultat$Ouv1),resultat$Ouv1-1,resultat$RepMax)
    > resultat
        id Ouv1 RepMax NbNonOuv
    1 Cli1    6      8        5
    2 Cli2   NA     12       12
    Cordialement,

  3. #3
    Membre expérimenté
    Homme Profil pro
    Data scientist
    Inscrit en
    Février 2017
    Messages
    211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data scientist
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2017
    Messages : 211
    Par défaut
    Bonjour,

    Merci pour la proposition.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/12/2014, 12h23
  2. Probème pour filtrer sur une variable calculée.
    Par tiavato dans le forum Deski
    Réponses: 0
    Dernier message: 04/05/2012, 16h33
  3. Filtre sur une variable crée (Indicateur)
    Par thanmirt dans le forum Webi
    Réponses: 1
    Dernier message: 29/04/2011, 14h01
  4. [XSLT] Faire une boucle sur une variable [i]
    Par PoT_de_NuTeLLa dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 07/06/2010, 12h45
  5. [Designer V5-V6] Rupture sur une variable calculée
    Par dvdavid2009 dans le forum Débuter
    Réponses: 1
    Dernier message: 25/11/2009, 10h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo