Importation de n matrices via read.xls

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Stephane Barbier
Messages : 7
Enregistré le : 05 Sep 2007, 12:45

Importation de n matrices via read.xls

Messagepar Stephane Barbier » 03 Déc 2008, 14:41

Bonjour,

Je souhaite importer des feuilles d'un fichier excel et les renommer. Mon fichier excel comporte plusieurs centaines de feuilles, donc je veux faire une commande pour toutes les feuilles à la fois.

Ya-t-il une fonction (ou groupe de fonctions) qui me permettrait de faire ça ? (au niveau des "????" dans mes commandes, ci-dessous).

Merci d'avance pour votre aide.

S. Barbier



sites <- c("0008", "0017", "0025")
# noms de quelques-unes des feuilles excel à importer

a <- 1
for (i in 1:length(sites))
a[i] <- paste("r", sites[i], sep=".")

# a
# [1] "r.0008" "r.0017" "r.0025"
# "a" contient les noms que je souhaite attribuer aux matrices importées. Ex : la feuille excel "0008" donnera la matrice "r.0008".
# mes matrices ne peuvent pas porter le nom de la feuille excel car il est numérique. D'où la transormation avec "paste"

???? a[1] <- read.xls("V:\\...Essai.xls", sheet=i)
# je voudrais que cette ligne importe mes i feuilles, en les nommant "r.i".

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Messagepar Logez Maxime » 03 Déc 2008, 15:12

Bonjour,

avec un assign ?

Code : Tout sélectionner

for (i in 1:length(a))
assign(a[1],read.xls("....",sheet=i))


Maxime

Stephane Barbier
Messages : 7
Enregistré le : 05 Sep 2007, 12:45

Messagepar Stephane Barbier » 03 Déc 2008, 15:35

Nickel, merci bien ! J'avais déjà apperçu cette fonction mais je ne savais pas à quoi elle servait...
Ci-dessous ma commande au propre, si un jour ça peut aider quelqu'un d'autre.

Code : Tout sélectionner

sites<-c("0008", "0017","0025", "0026", "0035")
a<-1
for (i in 1:length(sites))
{
a[i]<- paste("r",sites[i],sep="")
assign(a[i],read.xls("V:\\....xls", sheet=i))
}

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Messagepar Logez Maxime » 03 Déc 2008, 15:42

re,

Code : Tout sélectionner

sites<-c("0008", "0017","0025", "0026", "0035")
for (i in 1:length(sites))
  assign(paste("r",sites[i],sep="."),read.xls("V:\\....xls", sheet=i))


Maxime


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Eric Wajnberg et 1 invité