importar-datos-r

Cómo importar datos en R utilizando técnicas muy simples

 

Cuando empecé con R uno de los problemas fundamentales fue aprender a leer los datos para empezar a trabajar.

Es una etapa fundamental antes de empezar con la exploración de los datos y el posterior análisis.

Y quizá en mis inicios no le daba la atención que se merecía, y siempre estaba buscando en internet cómo poder importar datos en R: tanto archivos Excel como datos tipo .txt (ASCII para los amigos) .csv y archivos html.

Tenía más o menos claro cómo hacerlo, pero nunca había recogido las rutinas para leer datos.

Así que hoy quiero ayudarte a leer datos en R de manera sencilla utilizando unas rutinas efectivas. ¡A por ello!

Como quiero que practiques te paso el ejemplo del artículo:

 

# El roadmap: de los datos brutos a información

Quizá ya lo sepas pero me gustaría antes presentarte las etapas de los datos hasta llegar a la información y resaltar la importancia de la lectura.

Estas son las etapas:

  1. Lectura o importación de datos
  2. Limpieza de formato de datos
  3. Exploración
  4. Análisis
  5. Extracción de Información útil

Seguramente ya las conocías pero quédate con una cosa. ¿La etapa número 1 cuál es? La lectura o la importación. Queda todo dicho.

Sin datos vamos mal. Y los datos pueden tener muchos formatos. Por ello, en los próximos apartados te he recogido los formatos más habituales para que veas cómo puedes importar datos en R fácilmente.

A mi siempre me hubiera gustado tener un listado como el que te voy a mostrar.

Los formatos de datos más típicos son archivos ASCII (txt), csv y archivos de Excel.

# Importar archivos txt o csv (en general ASCII)

Los datos planos o ASCII en general que trabajan con caracteres tienen dos peculiaridades:

  1. El header o encabezamiento
  2. La separación de caracteres que indican la separación de columnas: pueden estar separadas por comas, puntos y comas, por tabulación, etc…

Estos son los tres tipos de archivos que te vas a encontrar en la práctica:

TIPO 1: NO tienes header. Solo datos

TIPO 2: En la primera línea tienes header. A partir de la 2, datos.

TIPO 3: Tienes un header engañoso

Ahora te explico cómo leerlos.

Tienes dos opciones:

  1. Trabajar con el paquete ‘readr’ efectivo cuando tienes muchos datos.
  2. Trabajar con la sentencia read.table.

 

# OPCIÓN 1:utilizar el paquete readr

PASO1: cargar el paquete ‘readr’

Según mi experiencia el paquete “readr” es fantástico usarlo. Es muy práctico. Para cargarlo puedes utilizar esta sentencia:

[sourcecode lang=”r”]
# Instalar el paquete ‘readr’ el paquete más práctico para leer ficheros planos</span>
install.packages("readr")
# Cargar el paquete
library("readr")
[/sourcecode]


PASO2: utilizar una sentencia de la siguientes:

Una vez cargado puedes trabajar con él. Tienes tres funciones que vas a utilizar:

  • read_csv(): para leer archivos con coma (“,”) como separador
  • read_csv2(): para leer archivos con punto y coma (“;”) como separador
  • read_tsv(): para leer archivos con tabulador (“\t”) como separador
  • read_delim(,sep =’|’): para leer archivos con separador distintos como puede ser el símbolo ‘|’

Leer archivos de tu PC poniendo la ruta del archivo

Para poder leer bien los archivos tienes que proporcionarle a R la ruta del archivo con el nombre. Lo puedes hacer tú poniendo toda la ruta con el nombre y la extensión. Tipo:

tusDatos <- read_csv(“la_ruta_del_archivo”)

Por ejemplo:

[sourcecode lang=”r”]
tusDatos <- read_csv("D:\Jordi\blog\contingut\post47-Como improtar datos en R/ejemplo-datos.txt")
[/sourcecode]

Tienes otra opción más molona 🙂

Leer archivos de tu PC seleccionando con el mouse

Si eres novato te recomiendo que selecciones los datos con una ventana emergente usando file.choose(). Así de fácil:

Para leer datos seleccionando el archivo de tu PC con el ratón puedes utilizar:

[sourcecode lang=”r”]
tusDatos <- read_csv(file.choose())
tusDatos <- read_csv2(file.choose())
tusDatos <- read_tsv(file.choose())
tusDatos <- read_delim(file.choose(),sep =’|’)
[/sourcecode]

Leer archivo de internet

Ahora se trata de poner la ruta de la web donde hay datos. Puedes probar con esta línea de código:

[sourcecode lang=”r”]
tusDatos <- read_tsv("http://www.sthda.com/upload/boxplot_format.txt")
[/sourcecode]

 

# Cómo leer los tres tipos de archivos con el paquete readr

El código para leer los tres tipos de archivos:

[sourcecode lang=”r”]
# TIPO 1: solo datos
tusDatos <- read_csv(file.choose(),skip = 0,col_names = FALSE)

# TIPO 2: encabezado una linea + datos
tusDatos <- read_csv(file.choose(),skip = 0,col_names = TRUE)

# TIPO 3: encabezado raro + datos
tusDatos <- read_csv(file.choose(),skip = 8,col_names = TRUE)
[/sourcecode]

 

# OPCIÓN 2: utilizar la función read.table

Recomiendo esta opción cuando no tienes demasiados datos (yo siempre he usado esta opción).

Puedes ir un paso más allá y trabajar como un pro. Para casos especiales cuando tienes encabezados. Es decir tienes caracteres que no quieres leer en las primeras filas.

tusDatos <- read.table(file.choose(), skip = 2, header =TRUE, sep =‘;’)

En este caso NO vas a leer las dos primeras filas y la tercera serán los nombres de las columnas (de las variables). Además el separador será en ; .

Para el ejemplo que te he puesto:

[sourcecode lang=”r”]
# TIPO 1: solo datos
tusDatos <- read.table(file.choose(), skip = 0, header = FALSE, sep =’,’)

# TIPO 2: encabezado una linea + datos
tusDatos <- read.table(file.choose(), skip = 0, header = TRUE, sep =’,’)

# TIPO 3: encabezado raro + datos
tusDatos <- read.table(file.choose(), skip = 8, header = TRUE, sep =’,’)
[/sourcecode]

Esta es la forma más general de leer un archivo de texto, ASCII o plano. ¡Recuérdala!

# Importar archivos Excel

Otros archivos muy típicos para trabajar son los datos de una tabla Excel.

 

OPCIÓN1: Puedes utilizar un método muy sencillo.

  1. Selecciona los datos de Excel y cópialo
  2. Lee los datos copiados con este código

[sourcecode lang=”r”]
read.table(file = "clipboard", sep = "\t", header=TRUE)
[/sourcecode]

¿Fácil, verdad?

 

OPCIÓN2: Utilizar el paquete “readxl” y podrás leer los archivos Excel que quieras.

Recuerda que la primera fila del Excel corresponden a los nombres de las variables. Para ser elegante trabaja así.

[sourcecode lang=”r”]
# Instalar el paquete ‘readxls’ el paquete más práctico para leer ficheros Excel
install.packages("readr")
# Leer el paquete
library("readxl")
[/sourcecode]

Para leer los datos solo tienes que hacer lo siguiente:

[sourcecode lang=”r”]
# Puedes leer la hoja poniendo el nombre
misDatos <- read_excel(file.choose(), sheet = "el nombre de la Hoja que quieres leer")
# Puedes leer la hoja número 1. La primera de todas
misDatos <- read_excel(file.choose(), sheet = 1) [/sourcecode]

Ya sabes leer archivos planos y de Excel de manera sencilla. ¡No está nada nada mal!

Puedes descargarte el ejemplo de R aquí:

Ahora te toca a ti. Prueba estas enseñanzas y a ver qué tal te va! Cuéntamelo en los comentarios 😉

Acerca del autor

Jordi Olle Sanchez

Autor de ConceptosClaros.com. Ayuda a investigadores apasionados a aplicar estadística y análisis de datos en sus proyectos para catapultar su carrera investigadora y adaptarse a la era de los datos. Accede a los recursos gratuitos para aplicar estadística en tus datos

Interacciones del lector

Comentarios

    • Gracias Alejandro!
      De esto trata el blog 😉
      De ayudar 🙂 con explicaciones lo más sencillas posibles

  1. Muchas gracias por tu aportación, es muy claro como lo abordas y explicas cada opción. Actualmente me estoy iniciando en el uso del R y me ha resultado de mucha ayuda. Gracias Jordi


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

  Acepto la política de privacidad

Responsable del fichero: Jordi Ollé Sánchez
Finalidad; envío de mis publicaciones así como correos comerciales.
La Legitimación; es gracias a tu consentimiento.
Destinatarios:Como usuario e interesado te informo que los datos que me facilitas estarán ubicados en los servidores de Webempresa (proveedor de hosting de Conceptos claros) dentro de la UE. Ver política de privacidad de Webempresa
Podrás ejercer Tus Derechos de Acceso, Rectificación, Limitación o Suprimir tus datos enviando un email a jordi @ conceptosclaros.com o ante la Autoridad de Control
Encontrarás más información en política de privacidad
Pro-statistics-Mockup-presentacion

Descárgate los recursos gratuitos y empieza a construir las bases para analizar los datos de tus proyectos de investigación