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 :

Conversion d'un format semaine charactere en format date


Sujet :

R

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 40
    Points : 35
    Points
    35
    Par défaut Conversion d'un format semaine charactere en format date
    Bonjour,

    Je possède une colonne "Semaine" dans un tableau au format charactère. La colonne a été obtenu suite à l'utilisation de la fonction ISOWeek. Je n'arrive pas à convertir cette colonne au format date en gardant la même structure pour l'utiliser dans un graphique.

    Voici la colonne en question :

    0017-W15
    0017-W16
    0017-W18

    J'ai essayé d'utiliser la fonction as.Date mais le fait que la colonne soit en format charactère bloque la fonction. Avez vous une idée de comment faire s'il vous plait ?

  2. #2
    Membre expérimenté
    Inscrit en
    Novembre 2009
    Messages
    703
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 703
    Points : 1 311
    Points
    1 311
    Par défaut Conversion d'un format semaine charactere en format date
    Bonjour Jonathan,

    Il faut indiquer le format d'import :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    > df <- data.frame(V1=c("0017-W15","0017-W16","0017-W18"))
    > df$V2 <- as.Date(paste(df$V1,1), format="00%y-W%U %u")
    > df
            V1         V2
    1 0017-W15 2017-04-10
    2 0017-W16 2017-04-17
    3 0017-W18 2017-05-01
    NB : L'instruction paste(df$V1,1) complète la date au format texte avec le premier jour de la semaine.

    Il est alors possible d'afficher la date dans son format initial :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    > format(df$V2,"00%y-W%U")
    [1] "0017-W15" "0017-W16" "0017-W18"
    Cordialement,

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 40
    Points : 35
    Points
    35
    Par défaut
    Bonjour mgdondon,

    Merci de votre réponse. En suivant ce code, le format que j'obtiens n'est pas de classe "DATE". Le problème vient donc lorsque je fais un graphique que l'axe des abscisses apparaît avec des valeurs numériques et non un format semaine.

    Voici le graphe en question :

    Nom : Sans titre.png
Affichages : 626
Taille : 32,1 Ko

    Avec le code correspondant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    plot(dataset[,1], dataset$V1, axes=F, xlab="", ylab="", type="b",col="black")
    Je souhaiterai à la place de cette axe des abscisses avoir mes semaines d'où passer la colonne semaine en format date.

    Quand je travaille par jour, j'utilise la fonction suivante pour l'axe des abscisses mais ma colonne est déja en format date.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    axis.POSIXct(1, at=seq(from=min(dates), to=max(dates), by="day"), format="%m-%d", las=2)

  4. #4
    Membre expérimenté
    Inscrit en
    Novembre 2009
    Messages
    703
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 703
    Points : 1 311
    Points
    1 311
    Par défaut Conversion d'un format semaine charactere en format date
    La variable V2 ainsi créée est bien de type date :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    > df <- data.frame(V1=c("0017-W15","0017-W16","0017-W18"))
    > df$V2 <- as.Date(paste(df$V1,1), format="00%y-W%U %u")
    > str(df)
    'data.frame':   3 obs. of  2 variables:
     $ V1: Factor w/ 3 levels "0017-W15","0017-W16",..: 1 2 3
     $ V2: Date, format: "2017-04-10" "2017-04-17" ...
    Je pense que c'est dans votre fonction axis.POSIXct() que vous devez définir le format d'affichage en semaines.

    Cordialement,

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

Discussions similaires

  1. Conversion de format date en format semaine
    Par issouma dans le forum Webi
    Réponses: 1
    Dernier message: 13/07/2011, 16h33
  2. Conversion d'un résultat de SELECT au format XML
    Par md1391 dans le forum PL/SQL
    Réponses: 7
    Dernier message: 28/08/2008, 09h45
  3. Réponses: 4
    Dernier message: 14/02/2008, 14h18
  4. Réponses: 1
    Dernier message: 01/06/2007, 10h48
  5. Conversion d'un dword en std::string (format 2 chiffres)
    Par Rodrigue dans le forum SL & STL
    Réponses: 3
    Dernier message: 09/08/2006, 10h35

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