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 :

vecteur boxplot et erreur


Sujet :

R

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2014
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2014
    Messages : 59
    Points : 60
    Points
    60
    Par défaut vecteur boxplot et erreur
    Bonjour,

    Voici mon problème : j'ai un fichier de cette forme:
    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
     
    date;Temp_mini;Temp_max;Temp_moy;Pluie;hum;
    01/03/2014;0.8;8.5;4.7;0;62;
    02/03/2014;0.1;12;6.1;4;62;
    03/03/2014;0;6.8;3.4;8.7;76;
    04/03/2014;0.4;9.6;5;0;67;
    05/03/2014;-3.1;13.1;5;0;66;
    06/03/2014;-1.6;15.8;7.1;0;56;
    07/03/2014;-2.4;18.5;8.1;0;56;
    08/03/2014;-1.7;20.1;9.2;0;56;
    09/03/2014;-1.4;19.4;9;0;58;
    10/03/2014;-1.4;17.6;8.1;0;60;
    11/03/2014;-0.5;16.1;7.8;0;68;
    12/03/2014;-0.6;16.3;7.9;0;71;
    13/03/2014;-1.3;18.8;8.8;0;63;
    Pour faire un boxplot(), je dois apparemment transformer mes données en vecteur, car, par exemple, pour les températures moyennes :

    génère une erreur :
    Error in boxplot.default(data$V4) :
    adding class "factor" to an invalid object
    donc je fais ceci:
    serie <- c(data$V4) et là, le boxplot(serie) fonctionne.

    Le problème, c'est que la série est mauvaise, je n'ai pas de nombre décimal -_-.

    Je ne comprends donc pas comment mettre mes données dans un vecteur ou faire un boxplot avec ma série de données.

    Quelqu'un a une idée ?

    Merci

  2. #2
    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 016
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

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

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 016
    Points : 23 705
    Points
    23 705
    Par défaut
    Bonjour,

    Le problème vient plutôt de l'import de vos données dans le data.frame.
    Comment faites-vous ? Quelles options avez-vous mises à read.table ?
    Que renvoie str(data) ?

    Si tout est transformé en entier, ou en chaîne de caractères, ou en facteur, ça explique le problème...
    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

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2014
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2014
    Messages : 59
    Points : 60
    Points
    60
    Par défaut
    Pour l'import je fais ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data<-read.table("mf.csv", sep=";", dec=".")
    Quand je fais data c'est bon:
    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
    18
     
     V1        V2       V3       V4    V5  V6 V7
    1        date Temp_mini Temp_max Temp_moy Pluie hum NA
    2  01/03/2014       0.8      8.5      4.7     0  62 NA
    3  02/03/2014       0.1       12      6.1     4  62 NA
    4  03/03/2014         0      6.8      3.4   8.7  76 NA
    5  04/03/2014       0.4      9.6        5     0  67 NA
    6  05/03/2014      -3.1     13.1        5     0  66 NA
    7  06/03/2014      -1.6     15.8      7.1     0  56 NA
    8  07/03/2014      -2.4     18.5      8.1     0  56 NA
    9  08/03/2014      -1.7     20.1      9.2     0  56 NA
    10 09/03/2014      -1.4     19.4        9     0  58 NA
    11 10/03/2014      -1.4     17.6      8.1     0  60 NA
    12 11/03/2014      -0.5     16.1      7.8     0  68 NA
    13 12/03/2014      -0.6     16.3      7.9     0  71 NA
    14 13/03/2014      -1.3     18.8      8.8     0  63 NA
    15 14/03/2014         0     20.9     10.5     0  60 NA
    16 15/03/2014         1     19.8     10.4     0  59 NA
    quand je fais str(data), ça m'affiche ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    'data.frame':   34 obs. of  7 variables:
     $ V1: Factor w/ 34 levels "01/03/2014","01/04/2014",..: 34 1 3 5 6 7 8 9 10 11 ...
     $ V2: Factor w/ 25 levels "-0.5","-0.6",..: 25 13 10 9 12 8 5 7 6 4 ...
     $ V3: Factor w/ 32 levels "11.3","12","13.1",..: 32 27 2 26 29 3 6 12 17 15 ...
     $ V4: Factor w/ 31 levels "10.1","10.4",..: 31 14 17 13 15 15 21 26 30 29 ...
     $ V5: Factor w/ 6 levels "0","0.4","17.3",..: 6 1 4 5 1 1 1 1 1 1 ...
     $ V6: Factor w/ 21 levels "47","53","55",..: 21 10 10 19 14 13 4 4 4 6 ...
    Je comprend pas trop cette sortie...

    Il est possible que quand je fais c(data$V4) il me sort 31 14 17 13 15 15 21 26 30 29 au lieu de 10.1 10.4 etc.... mais j'en suis pas sur

    EDIT:

    Quand je fais ça:
    serie<-data$V4
    serie
    ça me sort ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    [1] Temp_moy 4.7      6.1      3.4      5        5        7.1      8.1      9.2      9        8.1      7.8      7.9      8.8     
    [15] 10.5     10.4     14.7     13.1     12.5     14.2     11.3     9        8.2      6.2      5.9      6.3      6.7      7.7     
    [29] 7.5      10.9     11.9     10.7     10.1     11.5
    donc c'est bon mais si je fais ceci
    serie2<-c(data$V4)
    serie2

    ça me sort ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [1] 31 14 17 13 15 15 21 26 30 29 26 24 25 28  3  2 12 10  9 11  6 29 27 18 16 19 20 23 22  5  8  4  1  7
    donc là c'est pas bon, le résultat devra être le même que serie

    est-ce que ce serai pas parce qu'il le serie[1] = Temp_moy ???


    EDIT: C'est bon j'ai rajouté header=T et ça fonctionne, merci

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

Discussions similaires

  1. Vecteur, fonction et erreur de mémoire
    Par henrima7 dans le forum C++
    Réponses: 2
    Dernier message: 04/01/2014, 06h53
  2. [STL] erreur compilation, suppression dans vecteur
    Par ZaaN dans le forum SL & STL
    Réponses: 1
    Dernier message: 03/07/2007, 16h32
  3. erreur dans programme java sur des vecteurs 3D
    Par HighSchool2005 dans le forum Langage
    Réponses: 18
    Dernier message: 15/02/2007, 16h38
  4. Réponses: 1
    Dernier message: 13/07/2005, 15h51
  5. [Kylix] Erreur Vecteur Kylix C++
    Par A&Nexus dans le forum EDI
    Réponses: 4
    Dernier message: 28/05/2005, 11h15

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