Les posteurs les plus actifs de la semaine
Aucun utilisateur |
Sujets les plus vus
Utilisation de fichiers xls dans R et fusions de fichiers
4 participants
Page 1 sur 1
Utilisation de fichiers xls dans R et fusions de fichiers
Bonjour,
j'ai une grande quantité de fichiers xls et j'aimerais donc travailler à partir de xls au lieu de csv pour éviter de tout convertir. Voici un exemple de ce que je veux faire:
1) lire des fichiers météo en format xls, j'y arrive avec le code dessous, seulement il transforme bien le "?" en "NA" mais pas les espaces ou autres sigles comme "/", comment faire pour dire de transformer tous les sigles ou espaces en "NA"?
2) j'ai 2 types de fichiers: ici "meteoLieu1.xls" et "meteoLieu2.xls" contenant 3 paramètres météo (col 2,3 et 4) pour chaque date (col1), la date est au format YYYYMMDD (on a donc un fichier par lieu avec plusieurs paramètres météo); puis le fichier "meteoParametre4Allsite.xls" contenant un 4ème paramètre météo en colonne 3 et pour tous les lieux dans un seul fichier, donc on a une colonne lieu (col1) et la colonne date est en postition2.
J'aimerais ajouter dans les fichiers "meteoLieu1.xls" et "meteoLieu2.xls" le paramètre 4 dans une nouvelle colonne qui est dans "meteoParametre4Allsite.xls" pour le lieu et la date correspondants.
Les lieux sont des facteurs et les paramètres météo: par1, par2 et par3, sont numériques, par4 est une info booléenne, comment déclarer ça avec des fichiers xls?
Auriez-vous une idée de script pour faire tout ça svp?
Merci par avance,
M.
le fichier meteoLieu1 et meteoLieu2 donnent ceci: (les chiffres négatifs apparaissaient en rouge, c'est normal?)
le fichier meteoParametre4All donne ceci:
j'ai une grande quantité de fichiers xls et j'aimerais donc travailler à partir de xls au lieu de csv pour éviter de tout convertir. Voici un exemple de ce que je veux faire:
1) lire des fichiers météo en format xls, j'y arrive avec le code dessous, seulement il transforme bien le "?" en "NA" mais pas les espaces ou autres sigles comme "/", comment faire pour dire de transformer tous les sigles ou espaces en "NA"?
2) j'ai 2 types de fichiers: ici "meteoLieu1.xls" et "meteoLieu2.xls" contenant 3 paramètres météo (col 2,3 et 4) pour chaque date (col1), la date est au format YYYYMMDD (on a donc un fichier par lieu avec plusieurs paramètres météo); puis le fichier "meteoParametre4Allsite.xls" contenant un 4ème paramètre météo en colonne 3 et pour tous les lieux dans un seul fichier, donc on a une colonne lieu (col1) et la colonne date est en postition2.
J'aimerais ajouter dans les fichiers "meteoLieu1.xls" et "meteoLieu2.xls" le paramètre 4 dans une nouvelle colonne qui est dans "meteoParametre4Allsite.xls" pour le lieu et la date correspondants.
Les lieux sont des facteurs et les paramètres météo: par1, par2 et par3, sont numériques, par4 est une info booléenne, comment déclarer ça avec des fichiers xls?
Auriez-vous une idée de script pour faire tout ça svp?
Merci par avance,
M.
- Code:
setwd ("D:\\Rfiles\\xls")
library(readxl)
meteoLieu1<-read_excel("meteoLieu1.xlsx", 1, col_names = TRUE, na = "?")
meteoLieu1
meteoLieu2<-read_excel("meteoLieu1.xlsx", 1, col_names = TRUE, na = "?")
meteoLieu2
meteoParametre4All<-read_excel("meteoParametre4All.xlsx", 1, col_names = TRUE, na = "?")
meteoParametre4All
le fichier meteoLieu1 et meteoLieu2 donnent ceci: (les chiffres négatifs apparaissaient en rouge, c'est normal?)
- Code:
> meteoLieu1<-read_excel("meteoLieu1.xlsx", 1, col_names = TRUE, na = "?")
> meteoLieu1
# A tibble: 17 x 4
date par1 par2 par3
<dbl> <dbl> <dbl> <dbl>
1 19820101 3 5 7
2 19820102 3 6 8
3 19820103 3 7 9
4 19820104 3 8 10
5 19820105 3 9 11
6 19820106 3 10 12
7 19820107 3 11 13
8 19820108 3 12 14
9 19820109 3 13 15
10 19820110 3 NA 16
11 19820111 3 15 17
12 19820112 3 16 18
13 19820113 3 17 19
14 19820114 3 18 20
15 19820115 3 19 21
16 19820116 3 20 22
17 19820117 3 21 23
>
> meteoLieu2<-read_excel("meteoLieu2.xlsx", 1, col_names = TRUE, na = "?")
> meteoLieu2
> meteoLieu2<-read_excel("meteoLieu2.xlsx", 1, col_names = TRUE, na = "?")
> meteoLieu2
# A tibble: 17 x 4
date par1 par2 par3
<dbl> <dbl> <dbl> <dbl>
1 19820101 40 10 90
2 19820102 1 NA 9
3 19820103 -38 -6 -72
4 19820104 -77 -14 -153
5 19820105 -116 -22 -234
6 19820106 -155 -30 -315
7 19820107 -194 -38 -396
8 19820108 -233 -46 -477
9 19820109 -272 -54 -558
10 19820110 -311 -62 -639
11 19820111 -350 -70 -720
12 19820112 -389 -78 -801
13 19820113 -428 -86 -882
14 19820114 -467 -94 -963
15 19820115 -506 -102 -1044
16 19820116 -545 -110 -1125
17 19820117 -584 -118 -1206
le fichier meteoParametre4All donne ceci:
- Code:
> meteoParametre4All<-read_excel("meteoParametre4All.xlsx", 1, col_names = TRUE, na = "?")
> meteoParametre4All
# A tibble: 51 x 3
lieu date parametre4
<chr> <dbl> <chr>
1 lieu1 19820101 0
2 lieu1 19820102 NA
3 lieu1 19820103 0
4 lieu1 19820104 0
5 lieu1 19820105 1
6 lieu1 19820106 0
7 lieu1 19820107 1
8 lieu1 19820108 NA
9 lieu1 19820109 0
10 lieu1 19820110 /
# ... with 41 more rows
margot julien- Nombre de messages : 7
Date d'inscription : 05/06/2019
Re: Utilisation de fichiers xls dans R et fusions de fichiers
Question mal placée. Peut-être dans le sous-forum R.
gg- Nombre de messages : 2174
Date d'inscription : 10/01/2011
Re: Utilisation de fichiers xls dans R et fusions de fichiers
Bonjour,
Pour ta premiere question essaye ceci:
Tu peux utiliser na.strings pour définir tous les caractères de ton fichier initial que tu veux remplacer par NA.
Ayana
Pour ta premiere question essaye ceci:
- Code:
meteoLieu1<-read_excel("meteoLieu1.xlsx", 1, col_names = TRUE, na.strings=c("?","/"," "))
Tu peux utiliser na.strings pour définir tous les caractères de ton fichier initial que tu veux remplacer par NA.
Ayana
Ayana- Nombre de messages : 550
Localisation : Londres
Date d'inscription : 18/08/2009
margot julien aime ce message
Re: Utilisation de fichiers xls dans R et fusions de fichiers
Super ça fonctionne, merciAyana a écrit:Bonjour,
Pour ta premiere question essaye ceci:
- Code:
meteoLieu1<-read_excel("meteoLieu1.xlsx", 1, col_names = TRUE, na.strings=c("?","/"," "))
Tu peux utiliser na.strings pour définir tous les caractères de ton fichier initial que tu veux remplacer par NA.
Ayana
margot julien- Nombre de messages : 7
Date d'inscription : 05/06/2019
Re: Utilisation de fichiers xls dans R et fusions de fichiers
Bonjour,
Juste comme ça, tu as combien de feuilles dans tes fichiers exell?
Xls (ça existe encore?) c'est un format propriétaire avec plein de pages, alors que CSV c'est du format texte, bien plus robuste…
Pour changer les dates, recherche si elles sont dans ce format comment extraire une chaine de caractère, sinon, il y a des façon de calculer assez tordues pour le faire… Cependant… Normalement, xls code les dates en nombre de jour depuis le 1er janvier 1900… et bizarrement utilise une forme de calendrier julien. Es-tu sur de ton format?
Juste comme ça, tu as combien de feuilles dans tes fichiers exell?
Xls (ça existe encore?) c'est un format propriétaire avec plein de pages, alors que CSV c'est du format texte, bien plus robuste…
Pour changer les dates, recherche si elles sont dans ce format comment extraire une chaine de caractère, sinon, il y a des façon de calculer assez tordues pour le faire… Cependant… Normalement, xls code les dates en nombre de jour depuis le 1er janvier 1900… et bizarrement utilise une forme de calendrier julien. Es-tu sur de ton format?
giby- Nombre de messages : 17
Date d'inscription : 16/04/2009
margot julien aime ce message
Re: Utilisation de fichiers xls dans R et fusions de fichiers
giby a écrit:Bonjour,
Juste comme ça, tu as combien de feuilles dans tes fichiers exell?
Xls (ça existe encore?) c'est un format propriétaire avec plein de pages, alors que CSV c'est du format texte, bien plus robuste…
Pour changer les dates, recherche si elles sont dans ce format comment extraire une chaine de caractère, sinon, il y a des façon de calculer assez tordues pour le faire… Cependant… Normalement, xls code les dates en nombre de jour depuis le 1er janvier 1900… et bizarrement utilise une forme de calendrier julien. Es-tu sur de ton format?
Bonjour,
merci pour le retour. En réalité, c'est moi qui ai mis mes fichiers sur excel et enregistré en xls (un seul onglet), peut-être que c'était une bêtise de faire ça. Quand je télécharge mes fichiers sur la plateforme météo, ils arrivent en format .txt, le format des dates est bien YYYYMMDD.
Peut-être qu'il y aurait un moyen de les appeler avec ce format txt.?
pour le moment j'arrive à les appeler en format excel et a ajouter mon paramètre 4 avec ce code: ci-dessous.
- Code:
library(readxl)
list_lieu_v2 <- lapply(
X = paste0("Lieu", 1:2),
meteoParametre4All = read_excel("meteoParametre4All.xlsx", 1, col_names = TRUE, na = c("?", "/", " ", "-")),
FUN = function(lieu, meteoParametre4All) {
tbl <- read_excel(paste0(lieu, ".xlsx"), 1, col_names = TRUE, na = c("?", "/", " ", "-"))
tbl[["lieu"]] <- tolower(lieu)
merge(tbl, meteoParametre4All, by = c("lieu", "date"))
}
)
Comment adapter ce code si je garde mes formats d'origine en txt qui ressemble à ceci par exemple pour le fichier "lieu1.txt" qui s'appelle en réalité par exemple "PARIS.txt":
stn time parametre4 PARIS 19820101 0 PARIS 19820102 PARIS 19820103 0 |
merci par avance
margot julien- Nombre de messages : 7
Date d'inscription : 05/06/2019
Sujets similaires
» Utilisation de SPSS dans la Santé
» Problème dans le package ensembleBMA dans R
» utilisation de student
» Utilisation de l'ANOVA ?
» Utilisation de la moyenne
» Problème dans le package ensembleBMA dans R
» utilisation de student
» Utilisation de l'ANOVA ?
» Utilisation de la moyenne
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|