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 de subsetting


Sujet :

R

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 41
    Points : 31
    Points
    31
    Par défaut Problème de subsetting
    Bonjour, j'essaye tant bien que mal de prendre un sous-ensemble d'un cadre de données. Voici, tout d'abord, un snapshot dans R de mon cadre de données : Nom : Sans titre.png
Affichages : 90
Taille : 93,7 Ko
    Ce sont des historiques de pronostics de football avec des cotes. J'aimerais bien relever l'ensemble des cotes >= 2.00 (colonnes IC, NC et EC) mais quand je tape, par exemple, data$IC[data$IC >= 2.00] et bien j'obtiens ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    > data$IC[data$IC >= 2.00]
      [1] <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
     [30] <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
     [59] <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
     [88] <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
    [117] <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
    [146] <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
    [175] <NA> <NA> <NA>
    73 Levels: 1.05 1.10 1.17 1.20 1.25 1.30 1.35 1.40 1.45 1.50 1.55 1.60 1.63 1.65 1.70 1.75 1.80 1.85 1.89 1.90 1.93 1.95 2.00 2.05 2.09 2.10 ... 9.99
    Warning message:
    In Ops.factor(data$IC, 2) : >= not meaningful for factors
    Je ne comprends pas pourquoi ça fait ça. Pouvez-vous m'aider, s'il-vous-plait?

  2. #2
    Membre confirmé
    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
    Points : 486
    Points
    486
    Par défaut
    Bonjour,

    Votre vecteur data$IC est de class "factor" (cf. message d'erreur). Essayez de changer le separateur decimal par "." dans votre commande read.table.

    HTH

    Vincent

  3. #3
    Membre régulier Avatar de Yoan73
    Homme Profil pro
    Inscrit en
    Septembre 2013
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Septembre 2013
    Messages : 21
    Points : 75
    Points
    75
    Par défaut
    Bonjour,

    Oui, je confirme que cela vient de la spécification du champ décimal par ","
    R prend votre variable "IC" comme une variable qualitative.
    On peut facilement le voir en voulant additionner les 2 premières valeurs de la variable "IC" par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    > data = read.csv("C:/.../test.csv",header=TRUE,sep=";",dec=",")
    > data
      Nom  IC
    1   a 2.3
    2   b 4.5
    3   c    
    4   d   3
    5   e 7.8
    > data[1,2] + data[2,2]
    [1] NA
    Warning message:
    In Ops.factor(data[1, 2], data[2, 2]) : + not meaningful for factors
    Alors que si vous ne spécifiez pas de séparateur décimal (dec="." par défaut) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    > data = read.csv("C:/.../test.csv",header=TRUE,sep=";")
    > data
      Nom  IC
    1   a 2.3
    2   b 4.5
    3   c  NA
    4   d 3.0
    5   e 7.8
    > data[1,2] + data[2,2]
    [1] 6.8
    et donc, le code marchera aussi avec votre filtre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    > data$IC[data$IC >= 3.1]
    [1] 4.5  NA 7.8
    Après, à vous de gérer les valeurs nulles avec par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    > na.omit(data)
      Nom  IC
    1   a 2.3
    2   b 4.5
    4   d 3.0
    5   e 7.8
    Bien à vous,

    Yoan

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 41
    Points : 31
    Points
    31
    Par défaut
    Merci beaucoup pour vos réponses, pardon pour avoir tarder à vous remercier j'ai été assez occupé ces derniers temps.

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

Discussions similaires

  1. Problème sur fonction subset
    Par habasque dans le forum R
    Réponses: 2
    Dernier message: 20/05/2009, 22h49
  2. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18
  3. Problème d'impression
    Par IngBen dans le forum C++Builder
    Réponses: 7
    Dernier message: 22/05/2002, 11h37
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  5. Réponses: 6
    Dernier message: 25/03/2002, 21h11

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