Une fois les analyses effectuées et les résultats obtenus, il peut être nécessaire de communiquer les résultats à d’autres personnes ou à d’autres logiciels, et donc de devoir "déplacer" vos données vers un autre ordinateur, serveur, etc. Pour cela, le format texte est à nouveau le format d’échange recommandé, mais il est tout à fait possible de sauvegarder le tout dans un format propre à R. Voyons tout cela ensemble !
Exporter dans un fichier externe
Un résultat se présente la plupart du temps sous la forme d’un tableau et nous allons donc exporter celui-ci. L’exportation du tableau est très simple :
write.table(tableau,"monfichier.csv",sep=";",row.names=FALSE)
L’objet tableau
est exporté dans le fichier monfichier.csv
à l’endroit où R travaille. On peut bien sûr spécifier un chemin particulier. L’exportation ci-dessus permet de contrôler le séparateur de colonne fixé à ;
et le nom du fichier monfichier.csv
.
Il est possible de contrôler d’autres options comme :
col.names
: permet de garder les noms des colonnes dans le format d’exportation. Par
défaut,col.names= TRUE
, les noms des colonnes sont donc stockés dans la première ligne.row.names
: permet de garder les identifiants de chaque individu dans le fichier exporté. Par défaut,row.names= TRUE
.quote
: permet de définir si les chaînes de caractères sont délimitées par des guillemets ou non. Par défaut,quote= TRUE
.dec
: permet de définir le séparateur décimal qui est par défaut à.
.na
: permet de définir la chaîne de caractères qui va remplacer les valeurs manquantes et la chaîne de caractères qui est par défaut à"NA"
.
Ainsi, pour exporter sans nom de lignes ou de colonnes ni guillemets et avec un séparateur tabulation, nous utilisons :
ozoneR <- ozone[1:4,c("maxO3","T9","vent")]
write.table(ozoneR,"montableau.txt",row.names=F,col.names=F,quote=F,sep='\t')
Exporter des données en .txt
, .csv
ou autre est la meilleure solution si vous souhaitez pouvoir accéder à ces données avec un autre logiciel/langage d’analyse, comme Python. Cependant, cette solution ne préserve pas la structure des données, comme le type de la colonne ( numeric
, character
ou factor
). Pour ce faire, les données doivent être exportées dans un format de données R.
Exporter en format RDS
Il est possible de sauvegarder des objets R en utilisant la fonction saveRDS
. Créons une liste et sauvegardons-la :
x <- c("a","a","b","c")
X <- matrix(1:8,ncol=4)
y <- c(T,T,T,F,F)
z <- matrix(c("A","B","C","D"),ncol=2)
maliste <- list(comp1=x,comp2=X,comp3=y,element4=z)
maliste
# $comp1
# [1] "a" "a" "b" "c"
#
# $comp2
# [,1] [,2] [,3] [,4]
# [1,] 1 3 5 7
# [2,] 2 4 6 8
#
# $comp3
# [1] TRUE TRUE TRUE FALSE FALSE
#
# $element4
# [,1] [,2]
# [1,] "A" "C"
# [2,] "B" "D"
saveRDS(maliste,"maliste.rds")
Ainsi, la liste maliste
est maintenant stockée dans un fichier RDS, facilement récupérable via la fonction readRDS
:
maliste2 <- readRDS("maliste.rds")
maliste2
# $comp1
# [1] "a" "a" "b" "c"
#
# $comp2
# [,1] [,2] [,3] [,4]
# [1,] 1 3 5 7
# [2,] 2 4 6 8
#
# $comp3
# [1] TRUE TRUE TRUE FALSE FALSE
#
# $element4
# [,1] [,2]
# [1,] "A" "C"
# [2,] "B" "D"
En résumé
Vous pouvez exporter vos données/objets en R :
soit via un fichier externe, comme un fichier
.csv
, ou un fichier.txt
, pour ensuite les réimporter via un autre langage/logiciel d’analyse ;soit via un format propre à R (RDS ou RData) permettant de conserver le format et le type des données/objets.
Dans le prochain chapitre, nous verrons un peu plus en détails comment manipuler plusieurs jeux de données.