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 :

Représenter des données sur une carte


Sujet :

R

  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Mars 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 54
    Par défaut Représenter des données sur une carte
    Bonjour à tous,

    j'ai un jeu de données qui fournit pour différentes régions françaises des teneurs en toxines trouvées au champs... j'ai classé ces teneurs en 3 classes et j'aimerai créer une carte où j'ai la répartition géographique de ces trois classes.

    Je me suis donc lancée dans la fonction maps :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    library(maps)
    france<-map("france")
    france$names
    je ne sais pas du tout comment faire le lien entre mon jeu de données et cette carte de France...

    voici mon jeu de données :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    > summary(data)
            ESPECE         ANNEE                REGION                DPT                    DPT1      CLASSE_PLUIE    CLASSES_DON  
     BLE TENDRE:2349   Min.   :2001   BRETAGNE     :553   COTES D ARMOR : 279   Cotes-Darmor   : 279   <10  : 452   <1250    :1878  
                       1st Qu.:2003   CENTRE       :337   SEINE ET MARNE: 198   Seine-et-Marne : 198   >40  : 445   >1750    : 113  
                       Median :2004   ILE DE France:282   ILE ET VILAINE: 162   Ille-et-Vilaine: 162   10-40:1282   1250-1750:  44  
                       Mean   :2005   NORMANDIE    :191   CALVADOS      : 137   Calvados       : 137   NA's : 170   NA's     : 314  
                       3rd Qu.:2007   PICARDIE     :167   EURE ET LOIR  : 114   Eure-et-Loir   : 114                                
                       Max.   :2012   (Other)      :783   (Other)       :1423   (Other)        :1423                                
                                      NA's         : 36   NA's          :  36   NA's           :  36                                
    >

    j'ai essayé ceci, mais en vain :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    col <- c(1,2,3)
    map ('france', regions=data$DPT1, col=col[data$CLASSES_DON], fill=TRUE, add=TRUE)
    legend ('bottomleft', legend=attr (df$CLASSES_DON, 'levels'), col=col, lty=1, lwd=10)
    j'ai une ligne d'erreur qui me dit : Erreur dans map.poly(database, regions, exact, xlim, ylim, boundary, interior, :
    no recognized region names

    alors que DPT1 a exactement les mêmes noms que les france$names

    Merci pour votre aide

  2. #2
    Membre chevronné
    Inscrit en
    Mars 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 208
    Par défaut
    Bonjour,

    DPT1 est bien un vecteur de characteres? (et pas de facteurs)

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Mars 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 54
    Par défaut
    DPT1 est une variable qualitative ... il s'agit d'une liste de départements (donc oui des caractères)

  4. #4
    Membre chevronné
    Inscrit en
    Mars 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 208
    Par défaut
    double post

  5. #5
    Membre chevronné
    Inscrit en
    Mars 2013
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Mars 2013
    Messages : 208
    Par défaut
    Citation Envoyé par Fnouch Voir le message
    DPT1 est une variable qualitative ... il s'agit d'une liste de départements (donc oui des caractères)
    Une variable qualitative peut très bien être stockée sous un vecteur de facteurs.
    Or map ne semble pas prendre les facteurs si on regarde l'aide (juste le type character) ce qui pourrait expliquer l'erreur.

    Peux tu faire: ?
    Ou essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    as.character(data$DPT1)
    dans ton appel de map.

  6. #6
    Membre averti
    Femme Profil pro
    Inscrit en
    Mars 2013
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 54
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    > class(data$DPT1)
    [1] "factor"
    Finalement j'ai réussi à obtenir quelque chose de pas trop mal mais je ne peux sélectionner qu'une année... Aussi j'ai un souci, pour un même département je vais avoir plusieurs résultats, qui n'appartiennent pas à la même classe. Je ne sais pas comment la fonction tranche et choisit une classe parmi tous les résultats. Je pense qu'il serait plus sage de ma part de faire une moyenne de ma teneur en toxine pour chaque département par année, puis ensuite faire une moyenne de toutes les années confondues. Et seulement à partir de là, faire mes classes ! (J'aurai ainsi une seule classe par département)


    Je l'ai fait avec des données sur des précipitations voilà ce que ça peut donner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    df <-data[ data$ANNEE == "2012" , ]
    summary(df)
    col <- c("steelblue1", "slateblue","steelblue3")
    map ('france', regions=df$DPT1, col=col[df$CLASSE.PLUIE], fill=TRUE, add=TRUE, exact=F)
    legend ('bottomleft', legend=attr (data$CLASSE.PLUIE, 'levels'), col=col, lty=1, lwd=10)
    box()

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

Discussions similaires

  1. Récupérer des données sur une carte SD
    Par Yepazix dans le forum Périphériques
    Réponses: 3
    Dernier message: 18/09/2014, 23h30
  2. [Google Maps] Affichage des marqueurs sur une carte à partir d'une base de donnée
    Par sigway dans le forum APIs Google
    Réponses: 16
    Dernier message: 22/10/2012, 18h49
  3. envoyer des données sur une carte son
    Par khalifa1 dans le forum DirectX
    Réponses: 1
    Dernier message: 26/10/2007, 17h29
  4. Réponses: 4
    Dernier message: 18/04/2006, 22h09
  5. Récupérer des données sur une page HTML
    Par rupeni dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 18/11/2005, 17h22

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