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 :

Manipulation d'une série chronologique


Sujet :

R

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Manipulation d'une série chronologique
    Bonjour!
    Je viens vers vous pour m'aider à trouver une astuce afin de résoudre mon problème. En fait j'ai une série temporelle qui se présente comme suit :

    date temperature
    12/01/2016 9:12 23
    12/01/2016 17:30 16
    13/01/2016 10:23 19
    14/01/2016 20:20 36
    14/01/2016 22:10 34
    14/01/2016 23:13 39
    15/01/2016 22:10 34

    Du coup mon soucis est de trouver une fonction qui me permettra d'avoir un truc comme :

    12/01/2016 v1=c(23 16)
    13/01/2016 v2=c(19)
    14/01/2016 v3=c(36 34 39)
    15/01/2016 v4=c(34)

    Merci pour toute aide !

  2. #2
    Membre régulier
    Homme Profil pro
    Data Scientist
    Inscrit en
    Février 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data Scientist

    Informations forums :
    Inscription : Février 2017
    Messages : 28
    Points : 77
    Points
    77
    Par défaut
    Salut !

    J'imagine que ta variable date est au format Date.
    Pour ton problème, je te conseille de passer ta variable "date" en character et d'y appliquer la fonction substr pour conserver les 10 premiers caractères de chacune de tes dates.

    Petit exemple:
    Code R : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    > v=c("12/01/2016 9:12","12/01/2016 90:12")
    > substr(v,start=1,stop=10)
    [1] "12/01/2016" "12/01/2016"

    Donc ici, si l'heure ne t'intéresse pas, tu peux changer ta variable date et la retirer. Si ta base de données s'appelle donnees, alors tu as juste à faire cette manip:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    donnees$date=as.character(donnees$date)
    donnees$date=substr(donnees$date,start=1,stop=10)
    Il y a peut-être plus simple. Mais je connais pas très bien les Dates sur R ...

    Bon ensuite. Toi tu veux une sorte de "résumé" de tes données par dates. Tu peux utiliser la fonction split pour ça. Tiens regarde, j'ai généré une base similaire à la tienne à laquelle j'ai appliqué tout ce que tu souhaites faire. Tu peux t'en inspirer pour faire ce que tu veux avec ta base.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Date=c("12/01/2016 9:12","12/01/2016 23:12","13/01/2016 00:12","14/01/2016 12:12","14/01/2016 15:54")
    temperature=sample(20:40,5,replace=T)
     
    donnees=data.frame(Date,temperature)
     
    donnees$Date=substr(donnees$Date,start=1,stop=10)
     
    X=split(donnees$temperature,donnees$Date)
    X
    X[1]
    X[2]
    Tu remarqueras que j'ai du changer les classes de certaines variables, tu n'es surement pas obligé de faire toute cette bidouilles sur ta base (les classes de ton data frame doivent déjà être toute belle)

    EDIT: si par exemple tu veux la somme, la moyenne ou même la longueur de chaque vecteur correspondant à chaque date. Tu peux utiliser la fonction sapply comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sapply(X,sum)
    sapply(X,mean)
    sapply(X,length)

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci énormément. A travers ton code je me suis bien sorti de la galère. Merci encore

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

Discussions similaires

  1. Prédiction de la valeur suivante d'une série chronologique
    Par mehdit68 dans le forum Méthodes prédictives
    Réponses: 2
    Dernier message: 07/10/2015, 13h50
  2. Déclarer une série chronologique (financière)
    Par medsalase dans le forum MATLAB
    Réponses: 1
    Dernier message: 09/05/2014, 01h38
  3. Manipulation d'une série d'entiers saisis
    Par Aynil44 dans le forum C++
    Réponses: 8
    Dernier message: 19/03/2012, 20h35
  4. Création d'une série chronologique
    Par geofnich dans le forum R
    Réponses: 3
    Dernier message: 19/05/2010, 11h10
  5. simulation d'une série chronologique
    Par lilly74 dans le forum MATLAB
    Réponses: 0
    Dernier message: 25/02/2010, 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