Vous êtes sur la page 1sur 9

 (https://www.facebook.com/maximaelearning/)  (https://twitter.

com/maximaelearning/)
 (https://www.linkedin.com/company/m-xima-formaci-n/)

 cursos@maximaformacion.es (mailto:cursos@maximaformacion.es)  +34 635 659 391 (tel:+34635659391)

(https://www.maximaformacion.es/)

Data Science
MÁXIMA FORMACIÓN (HTTPS://WWW.MAXIMAFORMACION.ES) > BLOG (HTTPS://WWW.MAXIMAFORMACION.ES/BLOG/) > DATA SCIENCE +R
(HTTPS://WWW.MAXIMAFORMACION.ES/BLOG-DAT/) > ¿CÓMO LEER/GUARDAR INFORMACIÓN EN R?

¿CÓMO LEER/GUARDAR INFORMACIÓN EN R?

 Publicado por: Rosana Ferrero  Categoría: Data Science +R (https://www.maximaformacion.es/blog-dat/)

 No hay comentarios (https://www.maximaformacion.es/blog-dat/como-leer-guardar-informacion-en-r/#respond)

En R podemos leer o guardar datos, funciones, códigos y grá cos; aquí te dejamos la mejor selección de funciones para ello.
 

Tabla de contenidos Privacidad - Condiciones


1. Guardar datos (data.frame o matrix) en formato de tabla (.txt, .csv, .xls, .xlsx) 
Desde archivos delimitados (.txt, .csv o .xls)

Desde Excel (.xls o .xlsx)

2. Guardar objetos (datos o funciones) en formato .RData

3. Guardar objetos (datos o funciones) con sus metadatos

4. Guardar grá cos (.jpg, .png, .ti , .bmp, .pdf)

Máster de Estadística Aplicada con R Software IX


edición Octubre 2019
1.900 €

Domina la Ciencia de Datos

Soluciona los problemas reales que surgen con el análisis, la manipulación y la


representación gráfica de grandes volúmenes de datos en tu desempeño profesional:

Diseña modelos de análisis complejos.


Resuelve problemas estadísticos avanzados.
Transforma los datos en conocimiento
Comunica de forma eficaz tus resultados.
Toma decisiones con el mínimo margen de error
Amplia el alcance de tus publicaciones científicas.
Aplica las técnicas estadísticas más adecuadas para tus análisis (clásicas, robustas
(análisis de Outliers), avanzadas y multivariantes (Data Mining y Big Data).

Formación 100% online.

Comprar ahora Leer más

1. Guardar datos (data.frame o matrix) en


formato de tabla (.txt, .csv, .xls, .xlsx)
 

Privacidad - Condiciones
Desde archivos delimitados (.txt, .csv o .xls)

Para guardar datos:

1. write.table() y write.csv() -los objetos tipo data.frame o matriz podemos guardarlos, uno a la vez, en un archivo
externo manteniendo su estructura-

2. write() -guarda datos atómicos en un archivo externo de texto-

write.table(x, file = "", append = FALSE, quote = TRUE, sep = " ", na = "NA", dec = ".", row.names = TRUE, col.n

write.csv(...)

Para leer datos:

read.table(file, header = FALSE, sep = "", quote = "\"'", dec = ".", row.names, col.names, na.strings = "NA", ..

read.csv(file, header = TRUE, sep = ",", quote = "\"", dec = ".", fill = TRUE, comment.char = "", ...)

donde «x» es el objeto que queremos escribir (en formato matriz o data.frame), en « le» especi camos la ruta y nombre del
documento que deseamos abrir/guardar, aquí «append» solo relevante si el archivo es una cadena de caracteres (si es TRUE,
la salida se agrega al archivo, si es FALSE se destruye cualquier archivo existente del nombre), «quote» sirve para indicar si
queremos comillas a los nombres (TRUE/FALSE o índices), con «sep» indicamos el tipo de separador de los datos («,», «;»,
«\t», etc.), con «na» indicamos cómo vienen representados los datos ausentes (NA, algunos usan los valores 999 o 9999, pero
no lo recomiendo), la opción «dec» nos permite especi car cómo están dados los decimales (con «,» o «.»;recuerden que R
utiliza punto y Excel comas), con «col.names» o «row.names» indicamos los nombres de columnas y las que queremos
escribir, con «na.strings» podemos indicar qué valor o carácter va a especi car los valores ausentes o NA.

Ejemplo 1. Con las funciones write.table() y read.table()

> #creamos los datos que queremos guardar


> x <- data.frame(a = "Hola", b = 2.45)

> # podemos guardar nuestros datos


> write.table(x, file = "Ejemplo1.txt", row.names = FALSE) # guarda un archivo txt
> write.csv(x, file = "Ejemplo1.csv", row.names = FALSE) # guarda un archivo csv
> write.table(x, file = "Ejemplo1.xls", row.names = FALSE) # guarda un archivo excel

> # elimina el objeto "x"


> rm(x)

> # para leer los datos anteriores


> y <- read.table("Ejemplo1.txt", header=TRUE) # lee un archivo txt
> y= read.csv("Ejemplo1.csv",header = TRUE) # lee un archivo csv
> y <- read.table("Ejemplo1.xls", header=TRUE) # lee un archivo xls

> y
a b
1 Hola 2.45

Privacidad - Condiciones
> str(y) # comprueba que los datos se han guardado/leído correctamente y mantienen el formato
'data.frame': 1 obs. of 2 variables:
$ a: Factor w/ 1 level "Hola": 1
$ b: num 2.45

En el caso de que los decimales estén determinados por una coma, debemos especi carlo en R (argumento dec=»,»), ya que
R lee los decimales con puntos.
NOTA: Hay que recordar que si trabajas con RStudio tienes la opción de leer datos csv o txt fácilmente desde la barra de
herramientas, en la ventana superior derecha «Import dataset».
Desde Excel (.xls o .xlsx)
Podemos utilizar el paquete «xlsx» con el siguiente formato:
Para guardar datos:

write.xlsx(x, file, sheetName="Sheet1", col.names=TRUE, row.names=TRUE, append=FALSE)

Para leer datos:

read.xlsx(file, sheetIndex, header=TRUE, colClasses=NA)

donde «x» es el objeto que queremos escribir (en formato matriz o data.frame), en « le» especi camos la ruta y nombre del
documento que deseamos abrir/guardar, «sheetName» y «sheetIndex» sirven para especi car el nombre y número de
pestaña al que queremos acceder, respectivamente, con «col.names» o «row.names» indicamos los nombres de columnas y
las que queremos escribir, «append» nos permite agregar una pestaña a un archivo excel ya existente, con «header»
indicamos si lee la primer la como los nombres de las variables y con «colClasses» podemos especi car el tipo de variable
que queremos asignar a cada columna.

Ejemplo 2. Con las funciones write.xlsx() y read.xlsx()

> # instalamos el paquete "xlsx"


> install.packages("xlsx")

> # activamos la librería "xlsx"


> library(xlsx)

> # guardamos los datos USArrests (vienen instalados por defecto en R) en un archivo Excel (.xlsx)
> write.xlsx(USArrests, file="Ejemplo2.xlsx", sheetName="USA", append=FALSE)
> # agregamos una pestaña con los datos mtcars (también se encuentran disponibles en R)
> write.xlsx(mtcars, file="Ejemplo2.xlsx", sheetName="MTCARS", append=TRUE)

> # leemos los datos generados anteriormente


> D1<-read.xlsx("Ejemplo2.xlsx", sheetName = "USA")
> D2<-read.xlsx2("Ejemplo2.xlsx", sheetName = "MTCARS")

NOTA: también existen funciones que exportan los datos en formato SPSS, SAS o Stata.

2. Guardar objetos (datos o funciones) en


formato .RData
save() podemos guardar todos o algunos de los objetos generados en R. Privacidad - Condiciones
save.image() es una opción rápida para guardar todo el área de trabajo de R (‘save my current workspace’), i.e.
save(list = ls(all.names = TRUE), le = «.RData», envir = .GlobalEnv). Y es lo que realizamos cuando escribimos:
 q(«yes») para salir de R y guardar el área de trabajo.

load() permite reanudar una sesión anterior cargando los objetos guardados previamente.

Ejemplo 3. Con las funciones save() y load().

> a=function(x){mean(x)}
> b="hola"
> c=1:5
> d=data.frame(a = 1, b = "a")

> # guarda los objetos en un archivo de datos de R


> save(a,b,c,d,file="Ejemplo.RData”)

> # eliminar los datos del área de trabajo


> rm(a, b, c, d)

> # lee el archivo de datos de R en tu área de trabajo


> load("Ejemplo.RData”)

> a
function(x){mean(x)}

> b
[1] "hola"

> c
[1] 1 2 3 4 5

> d
a b
1 1 a

> str(a)
function (x)
- attr(*, "srcref")=Class 'srcref' atomic [1:8] 1 3 1 22 3 22 1 1
.. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x10471c358>

> str(b)
chr "hola"

> str(c)
int [1:5] 1 2 3 4 5

> str(d)
'data.frame': 1 obs. of 2 variables:
$ a: num 1
$ b: Factor w/ 1 level "a": 1

3. Guardar objetos (datos o funciones) con sus


metadatos 
Escrito en el formato nativo de R, crea una representación más descriptiva de un objeto R. Útil cuando queremos editar
luego el texto porque conservan los metadatos -por ejemplo guarda la información de cada clase de las variables o los
niveles de los factores- a diferencia de los formatos anteriores, tiene la desventaja de que son algo ilegibles y poco e cientes
Privacidad - Condiciones
-ocupan más espacio-. En algunos casos, es preferible tener datos almacenados en un archivo CSV y luego tener un archivo
de código separado que especi que los metadatos.  Disponible en las funciones:

dump() pueden guardar los contenidos de una función u otro objeto en un archivo externo

sink() guarda el resultado que normalmente se muestra en la consola en un archivo externo

source() para leer la información que has guardado previamente.

Ejemplo 4. Con las funciones dump(), sink() y source()


Los argumentos de la función dump() son una lista de objetos que queremos guardar y el nombre del archivo que
queremos generar (y podemos especi car la ruta que indique el directorio donde guardarlo).
También podemos especi car los argumentos append (TRUE si ya existe un archivo con el mismo nombre va a agregar la
información al archivo anterior, lo sobreescribe; por defecto está seleccionado como FALSE), control y evaluate (para
especi car el modo en que se guardan) y envir(si queremos especi car dónde se encuentra el objeto que queremos
guardar). Para más información leer la ayuda ?dump.

> a=function(x){mean(x)}
> b="hola"
> c=1:5
> d=data.frame(a = 1, b = "a")

> # guarda los objetos en un archivo de datos de R


> dump(c("a","b","c","d"),file="Ejemplo.R”)

> # eliminar los datos del área de trabajo


> rm(a, b, c, d)

> # guarda los objetos en un archivo de datos txt


> sink("Datos.txt")
> x <- c(1, 12, 3, 0)
> summary(x) # no muestra los resultados pero los guarda en el fichero txt
> sink()

Privacidad - Condiciones
> # lee el archivo de datos de R en tu área de trabajo
> source("Ejemplo.R")

> a
function(x){mean(x)}

> b
[1] "hola"

> c
[1] 1 2 3 4 5

> d
a b
1 1 a

> str(a)
function (x)
- attr(*, "srcref")=Class 'srcref' atomic [1:8] 2 1 2 20 1 20 2 2
.. ..- attr(*, "srcfile")=Classes 'srcfilecopy', 'srcfile' <environment: 0x10b70a8b0>

> str(b)
chr "hola"

> str(c)
int [1:5] 1 2 3 4 5

> str(d)
'data.frame': 1 obs. of 2 variables:
$ a: num 1
$ b: Factor w/ 1 level "a": 1

NOTA: Personalmente pre ero utilizar save/load en lugar de dump/source para trabajar con objetos, porque es más
sencilla (dump() no es tan agradable y ocupa más espacio con los metadatos).

4. Guardar grá cos (.jpg, .png, .tiff, .bmp, .pdf)


Podemos guardar nuestros grá cos en distintos formatos.

Para crear un archivo de formato grá co (.jpg, .png, .ti , .bmp)

jpeg(filename = "Rplot%03d.jpeg", width = 480, height = 480, units = "px", pointsize = 12, quality = 75, bg = "w

con « lename» indicamos el nombre (y ruta) del archivo, con «width» y «height» indicamos el ancho y largo del grá co,
respectivamente, con «units» podemos especi car las unidades en que estamos dando el tamaño del grá co, «pointsize»
indica el tamaño del texto que gra camos, «bg» indica el color de fondo de la imagen, «quality» la calidad de la imagen JPEG
como % (con valores pequeños obtenemos mayor comprensión pero la imagen empeora), «compression» indica el tipo de
compresión utilizada (siempre que no utilicemos type=»quartz»), «res» es la resolución en ppi, «type» el tipo de archivo
(«Xlib», «quartz» o «cairo»).

Para crear un pdf con la imagen (mantiene una alta calidad)

Privacidad - Condiciones
pdf(file = if(onefile) "Rplots.pdf" else "Rplot%03d.pdf", width, height, onefile, family, title, fonts, paper, b

donde « le» indica el nombre y ruta del archivo que vamos a guardar, «width» y «height» indican el ancho y largo del grá co,
«online» se utiliza para especi car si queremos varias guras en un único archivo (con TRUE), «family» nos permite
especi car la familia de la fuente de texto que utilizaremos, «title» para indicar un título, «fonts» para especi car la familia
de la fuente utilizada para fuentes adicionales (por defecto Helvetica), «paper» indica el tamaño del papel («a4»,
«letter»,»legal»,»executive», etc.) , «bg» y «fg» para el color de fondo capa, resepctivamnte, «pointsize» especi ca el tamaño
de los puntos (por defecto 12), «colormodel» la con guración de color («srgb» -por defecto-, «gray» o «cmyk»).

Ejemplo 5. Con las funciones jpeg, png, pdf

> # guardar un archivo en formato jpg


> jpeg('Grafico1.jpg') #abre el gráfico con el nombre dado (se guardará en el directorio seleccionado)
> plot(1:10) #grafica una secuencia de números del 1 al 10
> dev.off() #cierra el gráfico

> # guardar un archivo en formato png


> png('Grafico1.png') #abre el gráfico con el nombre dado (se guardará en el directorio seleccionado)
> plot(1:10) #grafica una secuencia de números del 1 al 10
> dev.off() #cierra el gráfico

> # guardar un archivo en formato pdf


> pdf("Grafico1.pdf")
> plot(1:10) #grafica una secuencia de números del 1 al 10
> dev.off() #cierra el gráfico

NOTA: también existe la función bmp() y ti ().


Saludos!

#DataScience (https://www.maximaformacion.es/tag/datascie/) #Estadistica (https://www.maximaformacion.es/tag/estadist/)

#Rstats (https://www.maximaformacion.es/tag/rstats/)

Compartir:
CONÓCENOS

Máxima Formación el centro eres tú, te preparamos para los retos profesionales del mundo real. Desde hace más de 10 años
somos referentes en formación de software libre aplicado a las áreas de la Estadística Aplicada (R Software) y la enseñanza virtual
Deja un comentario
(Moodle).
Nombre *

ENLACES RÁPIDOS
E-mail *
Formación (https://www.maximaformacion.es/formacion/)

Comentario *
Blog: Data Science +R (https://www.maximaformacion.es/blog-dat/)

Blog: E-Learning
Privacidad - Condiciones

Recursos (https://www maximaformacion es/recursos/)


Recursos (https://www.maximaformacion.es/recursos/)

Matriculación online (https://www.maximaformacion.es/matriculate-con-el-sello-de-con anza-online/)

Formación boni cada (https://www.maximaformacion.es/formacion-boni cada/)

  He leído y acepto la política de privacidad (/politica-de-privacidad/) de Máxima Formación


CONTACTO
Antes de rmar la solicitud debe leer la información básica de protección de datos que se presenta aquí

Avda. de la Innovación 1.

Edi cio BIC, 18016. Granada
PUBLICAR COMENTARIO

 +34 635 659 391


(tel:+34635659391)

 cursos@maximaformacion.es
(mailto:cursos@maximaformac

 Formulario de contacto
(https://www.maximaformacio

SÍGUENOS EN REDES SOCIALES

   

tk.sien
w
pb
(https://www.facebook.com/maximaelearning/)
itlu.t/w
h
t/u
:(w
sop(https://twitter.com/maximaelearning/)
wyt.t/w
h
/:(w
sp(https://www.linkedin.com/company/m-
wtt/h
/:(sp(https://www.youtube.com/channel/UCky7uSy8OT9rRIi0KZEhndQ?
tth(

)rebircsbu
-axima-
sm
=sia
x_w
view_as=subscriber)
eiv

-ica—
Copyright 2018 mformaci-
rof Formación
Máxima

 (https://www.facebook.com/maximaelearning/)
n/)
)/n  (https://twitter.com/maximaelearning/)
 (https://www.linkedin.com/company/m-xima-formaci-n/)
 (https://www.youtube.com/channel/UCky7uSy8OT9rRIi0KZEhndQ?view_as=subscriber)

Privacidad - Condiciones

Vous aimerez peut-être aussi