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.

  • 📁 Destino primero: La función getwd() informa del directorio de trabajo, y cualquier nombre de archivo relativo se escribe allí a menos que se proporcione una ruta completa.
  • 📄 Exportación CSV: write.csv(df, “file.csv”) es la opción universal, y write.csv2() cambia a separadores de punto y coma.
  • 📗 Exportación a Excel: La función write.xlsx() del paquete xlsx requiere un sistema en funcionamiento. Java instalación en la máquina.
  • 🔄 Software estadístico: El paquete haven escribe archivos SPSS, SAS y STATA con las funciones write_sav(), write_sas() y write_dta().
  • 💾 Formatos nativos: saveRDS() almacena un solo objeto y save() almacena varios, ambos conservando exactamente los niveles de factores y los atributos.
  • ☁️ Subida a la nube: Google Drive y Rdrop2 se autentican una vez por sesión y luego cargan, descargan y eliminan archivos directamente desde R.

Exportar datos de R a CSV y Excel

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.

Exportar datos de R a un archivo STATA

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.

Google Drive

Luego, se le redirige a Google API para permitir el acceso. Haga clic en Permitir.

Google Drive

Una vez completada la autenticación, puede salir de su navegador.

Google Drive

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.

Google Drive

Puedes ver este archivo en Google Spreadsheet.

drive_browse("table_car")

Salida:

Serás redirigido a Google Spreadsheet

Google Drive

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)

Google Drive

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:

Google Drive

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:

Google Drive

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.

Exportar a Dropbox

Obtendrá una página de confirmación. Puedes cerrarlo y volver a R.

Exportar a Dropbox

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:

Exportar a Dropbox

En gotaBox

Exportar a Dropbox

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:

Exportar a Dropbox

En caídaBox

Exportar a Dropbox

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:

Exportar a Dropbox

También es posible eliminar una carpeta.

drop_delete('my_first_drop')

Salida:

Exportar a Dropbox

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()

Preguntas Frecuentes

saveRDS() almacena un solo objeto y readRDS() permite asignarle cualquier nombre. save() almacena varios objetos y load() restaura sus nombres originales, lo que puede sobrescribir silenciosamente las variables que ya existen en el entorno.

Por defecto, write.csv() escribe los nombres de las filas como una primera columna sin nombre. Pase row.names = FALSE para suprimirlo; de lo contrario, al reimportar el archivo se generará una columna X sobrante.

Utilice writexl::write_xlsx() u openxlsx::write.xlsx(). Ambos escriben archivos .xlsx en R puro sin Java dependencia, que evita la rJava configuración que requiere el paquete xlsx.

Utilice RDS o Parquet en lugar de CSV. Ambos formatos conservan los tipos de columna y los niveles de factor, por lo que el conjunto de datos de entrenamiento se recarga de forma idéntica. CSV convierte los tipos de forma silenciosa y suele generar resultados de modelos poco reproducibles.

Sí. Los asistentes de IA pueden diagnosticar errores de permisos, directorios de trabajo incorrectos y faltantes. Java Para el paquete xlsx. Siempre confirme el destino con getwd() antes de confiar en una ruta sugerida.

Resumir este post con: