Enregistrement externe d'une liste??

Questions sur les objets de R et la manipulation des données

Modérateur : Groupe des modérateurs

Sébastien Hamel
Messages : 71
Enregistré le : 11 Mai 2006, 08:00

Enregistrement externe d'une liste??

Messagepar Sébastien Hamel » 21 Juin 2006, 15:06

Pour une matrice: l'enregistrement externe (en '.txt' par exemple) & la lecture s'effectue grâce à:
write.matrix(...) & read.table(...) en ne pas oubliant le as.matrix

mais si maintenant je souhaite enregistrer & lire de la même manière une liste comprenant plusieurs matrice à l'intérieur, quelles commandes dois-je utiliser & est-ce tout simplement possible? (Car je n'ai pas trouvé de documentation sur ce point!!)

Merci.

Renaud Lancelot
Messages : 2484
Enregistré le : 16 Déc 2004, 08:01
Contact :

Messagepar Renaud Lancelot » 22 Juin 2006, 06:35

Voir ?save et ?load.

Renaud

Sébastien Hamel
Messages : 71
Enregistré le : 11 Mai 2006, 08:00

Messagepar Sébastien Hamel » 22 Juin 2006, 08:44

je n'ai pas vraiment compris!
En faisant ainsi, on sauvegarde tous les objets de la console R, en gros on ouvre une nouvelle session avec ce ke l'on a fait auparavant, c'est ça??

C'est intéressant mais ce n'est pas vraiment cela qui m'interesse, en fait moi j'aimerais la chose suivante:

mon programme me construit une liste appelée res_mixed dans lequel figure 3 matrices:
- Y.moy (18209*26)
- Y.ind (18209*26)
- ind.eff (26*4*18209)

donc je souhaite enregistrer par exemple cette liste dans un fichier texte (res_mixed.txt) mais rien que cette liste & non tous les objets que j'ai déjà utiliser dans la console R.

Et ensuite j'utiliserais les différentes matrices avec par exemple res_mixed$Y.moy pour construire des graphiques ou autres choses....

Je pensais qu'en faisant:
write.matrix(res_mixed, file="res_mixed.txt")
res <- read.table ("res_mixed.txt")
res <- as.list (res)

ça marcherait, mais non!!!

Alors aurais-tu un exemple concret pour moi STP!

Renaud Lancelot
Messages : 2484
Enregistré le : 16 Déc 2004, 08:01
Contact :

Messagepar Renaud Lancelot » 22 Juin 2006, 11:45

je n'ai pas vraiment compris!
En faisant ainsi, on sauvegarde tous les objets de la console R, en gros on ouvre une nouvelle session avec ce ke l'on a fait auparavant, c'est ça??


Non: tu peux indiquer quel(s) objets tu veux sauver dans l'argument list de la fct save.

Code : Tout sélectionner

Alors aurais-tu un exemple concret pour moi STP!


Donc:

Code : Tout sélectionner

> # nettoyage
> rm(list = ls())
> ls()
character(0)
>
> # exemple de liste de matrices
> MaListe <- list(matrix(1:4, ncol = 2), matrix(5:8, ncol = 2))
> MaListe
[[1]]
     [,1] [,2]
[1,]    1    3
[2,]    2    4

[[2]]
     [,1] [,2]
[1,]    5    7
[2,]    6    8

>
> # on ajoute des objets dans l'espace de travail
> x <- rnorm(10); y <- letters[1:5]
> ls()
[1] "MaListe" "x"       "y"     
>
> # on sauve la liste
> save(list = "MaListe", file = "MaListe.rda")
>
> # on efface tout
> rm(list = ls())
> ls()
character(0)
>
> # on récupère la liste
> load("MaListe.rda")
>
> ls()
[1] "MaListe"
> MaListe
[[1]]
     [,1] [,2]
[1,]    1    3
[2,]    2    4

[[2]]
     [,1] [,2]
[1,]    5    7
[2,]    6    8


OK ?

Si tu veux pouvoir examiner "visuellement" l'objet exporté, voir les fonctions dump et dput.

Renaud


Retourner vers « Archives : Manipulation de données avec R »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité