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 pour tronquer une date.


Sujet :

R

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Probléme pour tronquer une date.
    Bonjour,

    Je rencontre quelques difficultés à tronquer une série de dates.

    J'ai commencé par importer mes données depuis Access via le package RODBC.

    Une fois importées, mes données se présentent sous cette forme : yyyy-mm-jj

    Après avoir chargé le package "Chron", j'ai ensuite transformé mes dates grâce au code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateSP <- as.Date(dataSP$date, "%Y-%m-%d")
    Ce que je voulais faire ensuite c'est ne garder dans ces dates que les mois et les jours.

    J'ai donc utiliser les fonction "cut" et "trunc" mais sans succès:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateSP2 <- cut(DateSP, "months")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateSP2 <- trunc(DateSP, "months")
    Quelqu'un as t'il une solution à ce problème?

    Je voulais aussi savoir s'il existait un moyen de faire passer le format de date de yyyy-mm-jj à yyyy/mm/jj.

    Merci d'avance

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 24
    Points : 20
    Points
    20
    Par défaut strsplit
    Est-ce que ceci t’aide ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    > date <- "2009-12-06"
    > strsplit(date,"-")
    [[1]]
    [1] "2009" "12"   "06"

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    En fait, se qu'il faudrait c'est un code qui remplace le "-" par un "/". En connaitriez vous un?

  4. #4
    Ayest
    Invité(e)
    Par défaut
    En utilisant ce que dit Hervé et la fonction paste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    > date <- "2009-12-06"
    > dateSplit <- strsplit(date,"-")
    > paste(dateSplit[[1]],collapse="/")
    Ou si tu préfères en une seule ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    > date <- "2009-12-06"
    > paste(strsplit(date,"-")[[1]],collapse="/")

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Cela semble ne pas fonctionner, voila ce que sa donne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    date <- "2009-06-12"
    date <- paste(strsplit(date,"-"),collapse="/")
    date
    [1] "c(\"2009\", \"06\", \"12\")"
    library(chron)
    date <- as.Date(date, "%Y/%m/%d")
    [1] NA

  6. #6
    Ayest
    Invité(e)
    Par défaut
    Tu n'as pas bien recopié : il y a [[1]] après l'appel de strsplit...

    Ceci dit, si tu utilises la librairie chron, tu peux faire directement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    > date <- "2009-12-06"
    > library(chron)
    > dates(date, format = "y-m-d")
    [1] 12/06/09
    Attention, cela renvoie un objet de classe 'date' et non une chaîne de charactères.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup pour ton code Ayest, c'est exactement celui qu'il me fallait.

    Passez une bonne soirée,

    Cordialement

    Falindor

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

Discussions similaires

  1. [AC-2003] Problème pour formater une date.
    Par miniwho dans le forum VBA Access
    Réponses: 2
    Dernier message: 24/06/2013, 11h56
  2. Problème pour insérer Une date
    Par hassane03 dans le forum Développement
    Réponses: 8
    Dernier message: 25/01/2013, 14h48
  3. [AC-2003] Problème pour créer une requête sur date
    Par fredsgar dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 18/03/2011, 09h37
  4. [AC-2003] Requête SQL : problème pour passer une date
    Par phoon dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 03/11/2009, 07h29
  5. Problème pour paser une date
    Par amine_en_france dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 21/01/2008, 15h47

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