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 :

Sélectionner sous condition avec filter (dplyr)


Sujet :

R

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2021
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Sélectionner sous condition avec filter (dplyr)
    Bonjour,

    J'ai un dataframe avec une date par jour de 1980 à 2020 et je veux sélectionner les lignes comprises entre le 1er avril et le 15 octobre pour chaque année. J'essaye de le faire avec filter de dplyr :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    selection <-data %>%
      filter(mois >= 4, mois <=10) %>%
      if (mois==10){
        filter(jour<15)
      }
     
    #J'ai aussi essayé :
    selection <-data %>%
      filter(mois >= 4, mois <=10) %>%
      if (mois==10) %>%
        filter(jour<15)
    Les deux premières lignes seules fonctionnent mais pour les 15 jours du mois d'octobre je ne sais pas comment m'y prendre.

    Les deux tentatives renvoient respectivement les erreurs :

    Error in if (.) mois == 10 else { :
    l'argument n'est pas interprétable comme une valeur logique
    De plus : Warning message:
    In if (.) mois == 10 else { :
    la condition a une longueur > 1 et seul le premier élément est utilisé

    Et pour le deuxième essai :

    Error in filter(jour < 15) : objet 'jour' introuvable

    Merci pour votre aide

  2. #2
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Bonjour.
    Dans R la commande if sert à exécuter des blocs entiers de code en fonction d'un objet. Pas à faire des exécutions conditionnelles selon les lignes d'un data.frame.
    Pour ton besoin il vaut mieux mélanger des conditions dans un même filter, avec des & (et) et des | (ou) pour indiquer quelles combinaisons t'intéressent.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    filter( between(mois,4,9) | (mois == 10 & jour < 15) )
    Bon courage.
    Olivier

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2021
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Ca fonctionne, merci beaucoup !

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

Discussions similaires

  1. [XL-2010] copier coller des lignes sous condition avec un changement de texte sur la ligne copiée.
    Par a.ouguerzam dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 10/11/2014, 16h48
  2. Calcul d'une somme sous condition avec maccro
    Par ARG971 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/10/2013, 14h48
  3. Effacer une ligne sélectionnée sous condition
    Par Liloo14 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/04/2013, 00h55
  4. [AC-2007] ERREUR 0 : Lancer une macro sous condition avec "ExecuterMacro"
    Par Octo LPO dans le forum Macros Access
    Réponses: 2
    Dernier message: 01/02/2013, 15h31
  5. selection et écriture de données sous condition avec boucle
    Par braquin dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 25/08/2011, 09h16

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