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 :

Problème sur fonction subset


Sujet :

R

  1. #1
    Membre éclairé Avatar de habasque
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Septembre 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 530
    Par défaut Problème sur fonction subset
    Bonjour,

    Je dispose d'un dataframe "espèces" (de poissons) et un dataframe "observations" (de poissons).
    Je souhaite à partir de la liste des espèces, trouver les observations correspondantes.

    Lorsque j'utilise le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    test = subset(obs,obs$code_espece==especes$code_espece)
    Le warning suivant apparaît :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    In obs$code_espece == especes$code_espece :
      la taille d'un objet plus long n'est pas multiple de la taille d'un objet plus court
    Si j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    test = subset(obs,obs$code_espece[match(obs$code_espece,especes$code_espece)])
    Alors j'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Erreur dans subset.data.frame(obs, obs$code_espece[match(obs$code_espece,  : 
      'subset' doit être évaluée comme une valeur logique
    Selon vous,
    1 - Pourquoi ces warnings/erreurs ?
    2 - Quelle est la méthode la plus appropriée ?
    Merci d'avance.

  2. #2
    Membre éclairé Avatar de habasque
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Septembre 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 530
    Par défaut utilisation de %in%
    en fait, il fallait que j'utilise %in% au lieu du double =

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    test = subset(obs,obs$code_espece %in% especes$code_espece)

  3. #3
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 059
    Par défaut
    Bonjour,

    Tu aurais également pu passer par la fonction merge, prévue pour çà .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    test <- merge(obs, especes, by = "code_espece")
    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

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

Discussions similaires

  1. Problème sur fonction simple
    Par Lyadrielle dans le forum Lisp
    Réponses: 5
    Dernier message: 23/09/2012, 15h01
  2. [PHP 5.0] Problème sur fonction de calcul horaire
    Par mariemarie75 dans le forum Langage
    Réponses: 1
    Dernier message: 07/07/2011, 21h10
  3. Problème sur fonction récursive simple
    Par zarohn dans le forum Débuter avec Java
    Réponses: 14
    Dernier message: 18/03/2010, 11h41
  4. problème sur fonction diffdate
    Par Daniel MOREAU dans le forum Access
    Réponses: 11
    Dernier message: 05/09/2006, 13h47

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