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:

 

test.function = function(r) {
    return(pi * r^2)
}
test.function(1)



# Instalar el paquete 'readr' el paquete más práctico para leer ficheros;
install.packages("readr")
# Cargar el paquete
library("readr")

 

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:

 

tusDatos &lt;- read_csv("D:\Jordi\blog\contingut\post47-Como improtar datos en R/ejemplo-datos.txt")<br />print(tusDatos)<br />

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:

tusDatos &lt;- read_csv(file.choose())
tusDatos &lt;- read_csv2(file.choose())
tusDatos &lt;- read_tsv(file.choose())
tusDatos &lt;- read_delim(file.choose(),sep ='|')

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:

tusDatos &amp;lt;- read_tsv("http://www.sthda.com/upload/boxplot_format.txt")

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

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

# TIPO 1: solo datos
tusDatos &amp;lt;- read_csv(file.choose(),skip = 0,col_names = FALSE)

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

# TIPO 3: encabezado raro + datos
tusDatos &amp;lt;- read_csv(file.choose(),skip = 8,col_names = TRUE)

# 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:

# TIPO 1: solo datos
tusDatos &amp;lt;- read.table(file.choose(), skip = 0, header = FALSE, sep =',')

# TIPO 2: encabezado una linea + datos
tusDatos &amp;lt;- read.table(file.choose(), skip = 0, header = TRUE, sep =',')

# TIPO 3: encabezado raro + datos
tusDatos &amp;lt;- read.table(file.choose(), skip = 8, header = TRUE, sep =',')

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
read.table(file = "clipboard", sep = "\t", header=TRUE)

¿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í.

# Instalar el paquete 'readxls' el paquete más práctico para leer ficheros Excel
install.packages("readr")
# Leer el paquete
library("readxl")

Para leer los datos solo tienes que hacer lo siguiente:

# Puedes leer la hoja poniendo el nombre
misDatos &amp;lt;- 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 &amp;lt;- read_excel(file.choose(), sheet = 1) 

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

Puedes descargarte el ejemplo de R aquí:

 

## Después de importar datos en R. ¿Cómo los analizo?

Una vez sabemos importar datos en R y limpiarlos es momento de la magia. La magia llega cuando transformas esos datos en gráficos, modelos estadísticos y algoritmos para transformarlos en información.

Si quieres analizar datos en R es necesario conocer un método paso a paso para que logres resultados reveladores a través de los datos que has importando y limpiado. Si quieres conocer este método puedes acceder al training gratuito de estadística aquí:

Training Gratuito Estadística

"Cómo Analizar los Datos de tus proyectos con Éxito sin perder miles de horas leyendo libros de estadística." ?

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

[sourcecode language="r"]
test.function = function(r) {
    return(pi * r^2)
}
test.function(1)
[/sourcecode]

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 con los lectores

Comentarios

      • Fabiola dice

        Hola Jordi

        estoy teniendo problemas al leer un archivo de excel en RGui(32-bit):

        > read.csv(«C:/Usuarios/Fabiola/Mis documentos/data/clase.csv», header=T)
        Error in file(file, «rt») : no se puede abrir la conexión
        Además: Warning message:
        In file(file, «rt») :
        no fue posible abrir el archivo ‘C:/Usuarios/Fabiola/Mis documentos/data/clase.csv’: No such file or directory

        espero puedas apoyarme de favor

        • Jordi Ollé dice

          Hola Fabiola!

          Puede ser que no tengas bien puesto el directorio:

          Prúeba así:

          read.csv(«C:/Usuarios/Fabiola/Mis documentos/data/clase.csv», header=T)

    • Jordi Ollé dice

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

  1. Rafael Barragán Flores dice

    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

  2. Miguel Angel Alvarez Franco dice

    Muy claras tus explicaciones , muchas gracias por el aporte, me estoy iniciando en R y me servira mucho
    Gracias

  3. Cris dice

    Buenas Jordi, no consigo abrir /leer tablas en csv con R ni con R studio. De las opciones que planteas aquí, readr no me funciona por asuntos de version creada antes de.. y con read.table no consigo tampoco, me da errores la ruta entre comillas y no me funciona la ventana emergente que debe de salir con la opción file.choose. ¿Un poco de luz? gracias


Deja una respuesta

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
6-tecnicas-Mockup-presentacion

Descubre cómo Analizar tus Datos con éxito y convertirte en Científico de Datos en tu sector