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 :

Récuperer les colonnes qui satisfont la condition


Sujet :

R

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 56
    Par défaut Récuperer les colonnes qui satisfont la condition
    Bonjour,

    J'aimerais pouvoir récupérer le numéro des colonnes qui satisfont une condition. Je vous présente un exemple simple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    vecteur=c(1:10)
    vecteur<5
    Cela nous renvois un vecteur c(False, False, False, False, False, True, True, True, True, True).

    Ce que j'amerais c'est récuperer le vecteur suivant:
    c(5,6,7,8,9,10)

    Je tiens à préciser que les colonnes ne se suivent pas forcément...

    Merci pour votre aide ou vos idées.

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 56
    Par défaut
    Voici mon code à l'heure actuel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    vecteur=c(1:10)
    vecteur<5
    c=0
    for (i in 1:10)
    {
    if(vecteur[i]<5) {c=c+1} else {c=c}
     
    }
    vecteur2=c(1:c)
    compteur=0
    for (i in 1:10)
    {
    if (vecteur[i]<5) {compteur=compteur+1} else {compteur=compteur}
    if (vecteur[i]<5) {vecteur2[compteur]=i} else {}
    }
    vecteur2

  3. #3
    Membre chevronné
    Homme Profil pro
    MCU
    Inscrit en
    Juillet 2010
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : MCU
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2010
    Messages : 185
    Par défaut
    Bonjour,

    Citation Envoyé par niafron71 Voir le message
    Voici mon code à l'heure actuel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    vecteur=c(1:10)
    vecteur<5
    c=0
    for (i in 1:10)
    {
    if(vecteur[i]<5) {c=c+1} else {c=c}
     
    }
    vecteur2=c(1:c)
    compteur=0
    for (i in 1:10)
    {
    if (vecteur[i]<5) {compteur=compteur+1} else {compteur=compteur}
    if (vecteur[i]<5) {vecteur2[compteur]=i} else {}
    }
    vecteur2
    C'est un peu compliqué votre code. Il y a la fonction which pour ça :

    HTH

    Vincent

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 56
    Par défaut
    Merci pour cette remarque, mais je ne connais pas cette "fonction" which. Cependant mon problème n'est pas l'optimisation du code mais de trouver un code qui me donnera le résultat. Si tu as d'autres suggestions je suis preneur.

  5. #5
    Membre chevronné
    Homme Profil pro
    MCU
    Inscrit en
    Juillet 2010
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : MCU
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2010
    Messages : 185
    Par défaut
    Re,

    Le code que j'ai fourni donne le résultat...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    vecteur <- 1:10
    which(vecteur < 5)
    [1] 1 2 3 4
     
    vecteur2 <- 10:1
    which(vecteur2 < 5)
    [1]  7  8  9 10
    HTH

    Vincent

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 56
    Par défaut
    Je crois que vous n'avez pas compris mon problème je ne veux pas récuperer les 4 ou 5 premières colonnes mais celle qui vérifie la condition.

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

Discussions similaires

  1. selectionner les cellules qui répondent à ma condition
    Par Yoooo dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/10/2008, 14h16
  2. Réponses: 3
    Dernier message: 16/04/2008, 08h39
  3. Réponses: 2
    Dernier message: 26/07/2007, 14h27
  4. Réponses: 1
    Dernier message: 17/07/2007, 15h45
  5. Récuperer les valeurs de toutes les colonnes
    Par wishmastah dans le forum Access
    Réponses: 1
    Dernier message: 10/03/2006, 11h19

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