knitr::opts_chunk$set(echo = TRUE, size = "small")

Un des problèmes auquel l'on est souvent confronté avec l'utilisation de R est l'importation ou l'exportation de données depuis un tableur (Excel ou Calc). Les solutions souvent utilisées sont l'utilisation de packages (tels que XLConnect, readxl ou xlsx) qui permettent de le faire de façon stable. Toutefois, on souhaite parfois une solution simple et rapide comme un simple copier-coller : c'est en fait possible avec R en utilisant le Clipboard (presse-papier) ! Les fonction ctrl_c() et ctrl_v() permettent d'utiliser plus facilement et rapidement ce Clipboard : après avoir copié une table d'un tableaur, utiliser ctrl_v() sous R pour l'exporter ou, à l'inverse, pour exporter une table x de R vers un tableur utiliser ctrl_c(x) et ensuite coller le tableur (en appuyant par exemple sur Ctrl+V)

Importer des données depuis un tableur

Pour importer des données depuis le presse-papier, il suffit d'utiliser la fonction ctrl_v(). Prenons par exemple le premier tableau de l'Information Rapide de l'enquête mensuelle de conjoncture dans l'industrie de juin 2017 (https://www.insee.fr/fr/statistiques/2875875) et l'ouvrir avec un tableur (en faisant par exemple un copier/coller) :

data<-matrix(c("Indicateur synthétique","100","106","108","109","108","Production passée","5","9","17","14","10","Stocks","13","7","6","5","6","Carnets de commandes globaux","-18","-9","-6","-5","-3","Carnets de commandes étrangers","-14","-5","-1","-2","-2","Perspectives personnelles de production","5","11","12","16","13","Perspectives générales de production","-9","3","1","7","17"),
          nrow=7,byrow = TRUE)
data<-data.frame(data, stringsAsFactors = FALSE)
data[,-1]<-apply(data[,-1],2,as.numeric)
colnames(data)<-c("Industrie manufacturière","Moy*","Mars-17","Avr-17","Mai-17","Juin-17")
knitr::kable(data, caption = "",align=c("l",rep("c",5)))

Pour copier-coller le tableau en entier, commencez par sélectionner les colonnes concernées (par exemples les cellules A1 à F8 si le tableau commence en A1), appuyez sur Ctrl+C et utiliser sous R la fonction ctrl_v() :

x <- ctrl_v()
x
# colnames(data)<-gsub("\\W","\\.",colnames(data))
data

La fonction ctrl_v() utilise la fonction read.table() pour importer les données. On peut donc personnaliser l'importation des données (voir pour cela les paramètres de read.table()). En particulier :

Exporter les données depuis R vers un tableur

Alors que pour importer les données depuis le presse-papiers on utilisait la fonction ctrl_v(), pour exporter les données sous Excel il faut tout simplement utiliser la fonction ctrl_c(). Cette dernière utilise la fonction write.table() : pour personnaliser l'export on peut donc modifier les paramètres de write.table(). En particulier :

Pour exporter la précédente table il suffit donc de lancer le code R suivant et de faire un Ctrl+V dans le tableur utilisé :

ctrl_c(x)


AQLT/AQLTools documentation built on Nov. 4, 2023, 11:49 p.m.