Cómo exportar datos de R a CSV y Excel
⚡ Resumen inteligente
Exportar datos desde R cubre escribir un marco de datos en formatos CSV, Excel, SPSS, SAS, STATA y nativos de R, y luego enviar el mismo archivo a Google Drive or DropboxCada exportación sigue un patrón: una función, un marco de datos y una ruta de destino.

Cómo exportar datos desde R
En este tutorial, aprenderemos cómo exportar datos del entorno R a diferentes formatos.
Para exportar datos al disco duro, necesita la ruta del archivo y una extensión. En primer lugar, la ruta es la ubicación donde se almacenarán los datos. En este tutorial, verá cómo almacenar datos en:
- El disco duro
- Google Drive
- Dropbox
En segundo lugar, R puede escribir los datos en muchos formatos. Este tutorial cubre las extensiones de archivo esenciales:
- csv
- Xlsx
- RDS
- SAS
- SPSS
- ESTADO
Cada exportación sigue la misma estructura: una llamada a una función, un marco de datos y una ruta de destino.
Exportar al disco duro
Para empezar, puedes guardar los datos directamente en el directorio de trabajo. El siguiente código imprime la ruta de tu directorio de trabajo:
directory <- getwd() directory
Salida:
## [1] "/Users/15_Export_to_do"
A menos que proporcione una ruta completa, cada archivo se escribirá en ese directorio de trabajo. El valor predeterminado difiere según el sistema, normalmente la carpeta de inicio del usuario en macOS y Linux y la carpeta Documentos en Windows, pero getwd() siempre te indica el valor actual. Cámbialo con setwd() o simplemente pasa la ruta completa a la función write.
setwd("/Users/USERNAME/Downloads")
Crear marco de datos
Primero, crea un pequeño marco de datos: la media de mpg y disp agrupadas por marcha del conjunto de datos mtcars.
library(dplyr) df <-mtcars %>% select(mpg, disp, gear) %>% group_by(gear) %>% summarize(mean_mpg = mean(mpg), mean_disp = mean(disp)) df
Salida:
## # A tibble: 3 x 3 ## gear mean_mpg mean_disp ## <dbl> <dbl> <dbl> ## 1 3 16.10667 326.3000 ## 2 4 24.53333 123.0167 ## 3 5 21.38000 202.4800
La tabla contiene tres filas y tres columnas. Puede crear un archivo CSV con la función write.csv en R.
Cómo exportar un marco de datos a un archivo CSV en R
La sintaxis básica de write.csv en R para exportar el DataFrame a CSV en R:
write.csv(df, path) arguments -df: Dataset to save. Need to be the same name of the data frame in the environment. -path: A string. Set the destination path. Path + filename + extension i.e. "/Users/USERNAME/Downloads/mydata.csv" or the filename + extension if the folder is the same as the working directory
Ejemplo:
write.csv(df, "table_car.csv")
Code Explicación
- write.csv(df, “table_car.csv”): cree un archivo CSV en el disco duro:
- df: nombre del marco de datos en el entorno
- “table_car.csv”: asigne al archivo el nombre table_car y guárdelo como csv.
Nota: : write.csv2() escribe el mismo archivo usando un punto y coma como separador de campos y una coma como separador decimal, que es la convención en gran parte de Europa continental.
write.csv2(df, "table_car.csv")
Nota: Con fines exclusivamente pedagógicos, hemos creado una función llamada `open_folder()` para abrir la carpeta del directorio. Simplemente ejecute el código que aparece a continuación y compruebe dónde se encuentra el archivo CSV. Debería ver un archivo llamado `table_car.csv`.
# Run this code to create the function open_folder <-function(dir){ if (.Platform['OS.type'] == "windows"){ shell.exec(dir) } else { system(paste(Sys.getenv("R_BROWSER"), dir)) } } # Call the function to open the folder open_folder(directory)
Cómo exportar un DataFrame a un archivo de Excel en R
Exportar a Excel es sencillo en Windows y un poco más complicado en macOSAmbos utilizan la biblioteca xlsx, y la diferencia radica únicamente en la instalación, ya que xlsx depende de Java. Java debe estar presente en la máquina antes de que se cargue el paquete.
Windows usuarios
On Windows, instala la biblioteca directamente con conda:
conda install -c r r-xlsx
Una vez instalada la biblioteca, write.xlsx() crea un nuevo libro de Excel en el directorio de trabajo:
library(xlsx) write.xlsx(df, "table_car.xlsx")
Si es usuario de Mac OS, debe seguir estos pasos:
- Paso 1: instale la última versión de Java
- Paso 2: instalar la biblioteca rJava
- Paso 3: instalar la biblioteca xlsx
Paso 1) Podrías descargar Java de oficial Oracle sitio e instálelo.
Puedes volver a Rstudio y comprobar qué versión de Java está instalado.
system("java -version")
Cualquier reciente Java La liberación funciona. Si el comando no informa nada, Java no está instalado y el paquete xlsx no se cargará.
Paso 2) Necesitas instalar rjava en R. Te recomendamos instalar R y Rstudio con Anaconda. Anaconda administra las dependencias entre bibliotecas. En este sentido, Anaconda se encargará de las complejidades de R.Java instalación.
En primer lugar, debe actualizar conda y luego instalar el . Puede copiar y pegar las siguientes dos líneas de código en la terminal.
conda update conda conda install -c r r-rjava
A continuación, abra rjava en Rstudio
library(rJava)
Paso 3) Finalmente, es hora de instalar xlsx. Una vez más, puedes usar Conda para hacerlo:
conda install -c r r-xlsx
Al igual que los usuarios de Windows, puede guardar datos con la función write.xlsx()
library(xlsx)
Salida:
## Loading required package: xlsxjars
write.xlsx(df, "table_car.xlsx")
Exportación de datos de R a software diferente
Exportar datos a diferentes programas es tan sencillo como importarlos. La biblioteca “haven” ofrece una forma cómoda de exportar datos a
- spss
- sas
- era
En primer lugar, importa la biblioteca. Si no tienes “haven”, puedes ir a aquí para instalarlo
library(haven)
archivo SPSS
A continuación se muestra el código para exportar los datos al software SPSS:
write_sav(df, "table_car.sav")
Archivo SAS
Tan simple como spss, puedes exportar a sas
write_sas(df, "table_car.sas7bdat")
archivo STATA
Finalmente, la biblioteca haven permite escribir archivos .dta.
write_dta(df, "table_car.dta")
Cómo exportar datos a formatos nativos de R
Si desea mantener el objeto dentro de R en lugar de pasárselo a otro programa, utilice uno de los dos formatos nativos. save() escribe uno o más objetos con nombre en un archivo .RData:
save(df, file ='table_car.RData')
La alternativa es saveRDS(), que almacena exactamente un objeto y permite al lector elegir su nombre al regresar:
# One object, name chosen at read time saveRDS(df, file = "table_car.rds") my_data <- readRDS("table_car.rds") # Several objects, original names restored save(df, directory, file = "workspace.RData") load("workspace.RData")
| Criterios | guardarRDS() / leerRDS() | guardar() / cargar() |
|---|---|---|
| Objetos por archivo | Exactamente uno | Uno o muchos |
| Nombre del objeto al recargar | Tú lo eliges | Restaurado como se guardó |
| Sobrescribe el entorno | No | Sí, en silencio |
| Extensión habitual | .rds | .RData |
En los scripts, es preferible usar `saveRDS()`, ya que `load()` puede sobrescribir silenciosamente un objeto existente con el mismo nombre. Ambos formatos conservan intactos los niveles de los factores, el orden y los atributos, algo que el formato CSV no permite.
Puede consultar los archivos creados anteriormente en el directorio de trabajo actual.
Interactuar con los servicios en la nube
Por último, pero no menos importante R está equipado con fantásticas bibliotecas para interactuar con los servicios de computación en la nube. La última parte de este tutorial trata sobre exportar/importar archivos desde:
- Google Drive
- Dropbox
Nota: : Esta parte del tutorial asume que tienes una cuenta con Google y Dropbox. De lo contrario, puede crear rápidamente uno para: Google Drive: https://accounts.google.com/SignUp?hl=en – Dropbox: https://www.dropbox.com/h
Google Drive
Es necesario instalar la librería googledrive para acceder a la función que permite interactuar con Google Drive.
La biblioteca aún no está disponible en Anaconda. Puede instalarlo con el siguiente código en la consola.
install.packages("googledrive")
y abres la biblioteca.
library(googledrive)
Para quienes no usan conda, instalar una biblioteca es sencillo: basta con usar install.packages('NOMBRE DEL PAQUETE'), donde el nombre del paquete debe ir entre comillas dentro de los paréntesis. R la instalará en la primera ubicación que devuelva .libPaths().
Subir a Google Drive
Para subir un archivo a Google Para usar drive, necesitas utilizar la función drive_upload().
Cada vez que reinicie Rstudio, se le pedirá que permita el acceso a tidyverse para Google Drive.
La sintaxis básica de drive_upload() es
drive_upload(file, path = NULL, name = NULL) arguments: - file: Full name of the file to upload (i.e., including the extension) - path: Location of the file- name: You can rename it as you wish. By default, it is the local name.
Después de ejecutar el código, debe confirmar varias preguntas.
drive_upload("table_car.csv", name = "table_car")
Salida:
## Local file: ## * table_car.csv ## uploaded into Drive file: ## * table_car: 1hwb57eT-9qSgDHt9CrVt5Ht7RHogQaMk ## with MIME type: ## * text/csv
Escribes 1 en la consola para confirmar el acceso.
Luego, se le redirige a Google API para permitir el acceso. Haga clic en Permitir.
Una vez completada la autenticación, puede salir de su navegador.
En la consola de RStudio, puedes ver el resumen del paso realizado. Google El archivo ubicado localmente en la unidad se ha subido correctamente. Google Se asignó un ID a cada archivo en la unidad.
Puedes ver este archivo en Google Spreadsheet.
drive_browse("table_car")
Salida:
Serás redirigido a Google Spreadsheet
Importar de Google Drive
Descargar mediante el ID del archivo es la opción más fiable. Si conoce el nombre del archivo, obtenga primero su ID:
Nota: : Dependiendo de su conexión a Internet y del tamaño de su Drive, lleva tiempo.
x <-drive_get("table_car")
as_id(x)
Almacenaste el ID en la variable x. La función drive_download() permite descargar un archivo desde Google Drive.
La sintaxis básica es:
drive_download(file, path = NULL, overwrite = FALSE) arguments: - file: Name or id of the file to download -path: Location to download the file. By default, it is downloaded to the working directory and the name as in Google Drive -overwrite = FALSE: If the file already exists, don't overwrite it. If set to TRUE, the old file is erased and replaced by the new one.
Finalmente puedes descargar el archivo:
download_google <- drive_download(as_id(x), overwrite = TRUE)
Code Explicación
- drive_download(): Función para descargar un archivo desde Google Drive
- as_id(x): Utilice el ID para explorar el archivo en Google Drive
- overwrite = TRUE: si el archivo existe, sobrescríbalo; de lo contrario, se detendrá la ejecución. Para ver el nombre del archivo localmente, puede usar:
Salida:
El archivo se encuentra en tu directorio de trabajo. Recuerda añadir la extensión antes de abrirlo en R. Puedes crear el nombre completo con la función paste() (por ejemplo, table_car.csv).
google_file <-download_google$local_path google_file path <-paste(google_file, ".csv", sep = "") google_table_car <-read.csv(path) google_table_car
Salida:
## X gear mean_mpg mean_disp ## 1 1 3 16.10667 326.3000 ## 2 2 4 24.53333 123.0167 ## 3 3 5 21.38000 202.4800
Finalmente, puede eliminar el archivo de su Google conducir.
## remove file
drive_find("table_car") %>%drive_rm()
Salida:
La eliminación se procesa de forma asíncrona por Google, por lo que el archivo puede tardar un momento en desaparecer.
Exportar a Dropbox
R interactúa con Dropbox a través de la biblioteca rdrop2. La biblioteca tampoco está disponible en Anaconda. Puedes instalarlo a través de la consola.
install.packages('rdrop2')
library(rdrop2)
Usted otorga acceso temporal a Dropbox con sus credenciales. Una vez autenticado, R puede crear, eliminar, cargar y descargar archivos en su Dropbox.
En primer lugar, debe dar acceso a su cuenta. Las credenciales se almacenan en caché durante toda la sesión.
drop_auth()
Serás redirigido a Dropbox para confirmar la autenticación.
Obtendrá una página de confirmación. Puedes cerrarlo y volver a R.
Puedes crear una carpeta con la función drop_create().
- drop_create('my_first_drop'): crea una carpeta en la primera rama de Dropbox
- drop_create('First_branch/my_first_drop'): crea una carpeta dentro de la carpeta First_branch existente.
drop_create('my_first_drop')
Salida:
En gotaBox
Para cargar el archivo .csv en su Dropbox, utilice la función drop_upload().
Sintaxis básica:
drop_upload(file, path = NULL, mode = "overwrite") arguments: - file: local path - path: Path on Dropbox - mode = "overwrite": By default, overwrite an existing file. If set to `add`, the upload is not completed.
drop_upload('table_car.csv', path = "my_first_drop")
Salida:
En caídaBox
Puede leer el archivo csv desde Dropbox con la función drop_read_csv()
dropbox_table_car <-drop_read_csv("my_first_drop/table_car.csv")
dropbox_table_car
Salida:
## X gear mean_mpg mean_disp ## 1 1 3 16.10667 326.3000 ## 2 2 4 24.53333 123.0167 ## 3 3 5 21.38000 202.4800
Cuando haya terminado de usar el archivo y desee eliminarlo. Debes escribir la ruta del archivo en la función drop_delete()
drop_delete('my_first_drop/table_car.csv')
Salida:
También es posible eliminar una carpeta.
drop_delete('my_first_drop')
Salida:
Exportación de datos desde R: Referencia de funciones
A continuación se enumeran todas las funciones de exportación utilizadas en este tutorial:
| Biblioteca | Objetivo | Función |
|---|---|---|
| bases | Exportar csv | escribir.csv() |
| Xlsx | exportar excel | escribir.xlsx() |
| refugio | exportar spss | escribir_sav() |
| refugio | Exportar sas | escribir_sas() |
| refugio | Exportar estadísticas | escribir_dta() |
| bases | Exportar objetos R | guardar() / guardarRDS() |
| Google Drive | Cargar Google Drive | subir_unidad() |
| Google Drive | abrirá en Google Drive | conducir_navegar() |
| Google Drive | Recuperar ID de archivo | unidad_get(as_id()) |
| Google Drive | Descarga de Google Drive | drive_download() |
| Google Drive | Eliminar archivo de Google Drive | unidad_rm() |
| rdrop2 | Autenticación | drop_auth() |
| rdrop2 | Crea una carpeta | soltar_create() |
| rdrop2 | Subir a Dropbox | soltar_upload() |
| rdrop2 | Leer csv de Dropbox | drop_read_csv() |
| rdrop2 | Eliminar archivo de Dropbox | soltar_eliminar() |













