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 :

Fusionner différents fichiers R en fonction du mois


Sujet :

R

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 19
    Points : 19
    Points
    19
    Par défaut Fusionner différents fichiers R en fonction du mois
    Bonjour,
    Je recherche à créer une commande R qui ouvrira différents fichiers de type csv ou text en fonction du mois.
    Sachant que dans le dossier d'origine tous les fichiers de l'année sont présents et que cette opération ne doit tenir compte que du mois actuel. Les mois variants entre 28, 29, 30 et 31 jours...
    Si je débute avec un "if" suivi d'un "for" est-ce possible? ou suis-je complètement éloignée de la méthodologie?
    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
    19
    20
    21
    22
    23
    24
     dossier <- setwd("C:/Users/moi/Desktop/R
     
    library(date)
    #les mois à 31 jours
    if ((as.character(format(Sys.Date(), "%m")) == 01)|(as.character(format(Sys.Date(), "%m")) == 03)|(as.character(format(Sys.Date(), "%m")) == 05)|(as.character(format(Sys.Date(), "%m")) == 07)|(as.character(format(Sys.Date(), "%m")) == 08)|(as.character(format(Sys.Date(), "%m")) == 10)|(as.character(format(Sys.Date(), "%m")) == 12))
    {for (i in 1:31) {
    fichiers<- paste("fic",1:30,".csv",sep=""))
    }
    #les mois à 30 jours
    else{ if ((as.character(format(Sys.Date(), "%m")) == 04)|(as.character(format(Sys.Date(), "%m")) == 06)|(as.character(format(Sys.Date(), "%m")) == 09))
    {for (i in 1:30) {
    fichiers<- paste("fic",1:30,".csv",sep=""))
    }
    #les Fevrier à 28 jours
    else{ if ((as.character(format(Sys.Date(), "%m")) == 02))
    {if ((as.character(format(Sys.Date(), "%m%d"))== 0228 {
    fichiers<- paste("fic",1:28,".csv",sep=""))
    }
    les Fevrier à 29 jours
    else{ if ((as.character(format(Sys.Date(), "%m")) == 02))
    {if ((as.character(format(Sys.Date(), "%m%d"))== 0229 {
    fichiers<- paste("fic",1:29,".csv",sep=""))
     
    }
    Merci par avance,

  2. #2
    Membre averti
    Homme Profil pro
    Data Scientist
    Inscrit en
    Août 2013
    Messages
    139
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Data Scientist
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2013
    Messages : 139
    Points : 316
    Points
    316
    Par défaut
    Bonjour,

    Pour commencer je ne comprends pas bien ton problème, est-ce que c'est le nom de tes fichiers qui varient en fonction du nombre de jours contenu dans le mois ?

    Ensuite, il me semble que tu as déjà un post traitant un problème similaire :
    http://www.developpez.net/forums/d15...le-fichiers-r/

    Évite le double post et pose ta question dans la discussion que tu as créée...

    Merci

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 19
    Points : 19
    Points
    19
    Par défaut autre problème
    Non ceci est un autre problème: disons que là je cumule tous les jours des fichiers et que je dois les traiter par mois. Je dois donc les regrouper par mois et j'ai tous les fichiers de l'année et des années précedentes. Ce qui n'a rien à voir avec mon premier problème de l'autre post ou les fichiers étaient déjà par mois et ou il fallait juste les retrouver pour les traiter.
    J'espère que j'ai été plus claire. Mais peut-être que j'aurais dû le demander dans le même poste? j'avais peur d'être mal comprise et de mélanger les deux travaux.
    Merci pour votre aide.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Ingénieur d'étude
    Inscrit en
    Avril 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur d'étude

    Informations forums :
    Inscription : Avril 2015
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    Bonjour,
    j'avais un peu la même problématique, je voulais ouvrir plusieurs fichiers de même type contenus dans un dossier et regrouper les résultats dans un seul data.frame.
    Voici ce que tu pourrais utiliser :

    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
    19
    setwd("C:/Users/moi/Desktop/R")
     
    lf <- list.files(pattern = "\\.csv$")##va lister tous les fichiers du même type dans le working directory
     
    ## création d'une table ltab2
    ltab2 <- sapply(
    		lf , 
    		function(x) read.table(
    					x ,  
    					colClasses = c("NULL" , "numeric"), ##colClasses: all column types need to specified
    					dec=".", 
    					header = TRUE
    				))    
     
    ## Concaténation dans un nouveau tableau Tab2 de tous les spectres
    tab2<-do.call(
    			cbind,  ##cbind va combiner les colonnes des autres fichiers et les ajouter l'une après l'autre dans le tableaux
    			ltab2
    			)
    Tu pourras sûrement l'adapter à ton problème,
    Bonne journée
    Arnaud

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/07/2014, 15h45
  2. Fusionner deux fichiers de taille différente
    Par ALEA001 dans le forum Débutez
    Réponses: 6
    Dernier message: 15/04/2013, 15h46
  3. [XL-2003] Insérer dans différents fichier selon le mois
    Par Djromé dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/02/2010, 12h19
  4. Ecriture dans un fichier avec la fonction AWK
    Par tux2005 dans le forum Linux
    Réponses: 2
    Dernier message: 21/07/2005, 10h58
  5. Réponses: 4
    Dernier message: 10/02/2005, 16h10

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