Importar archivos en R

En R se pueden importar archivos en varios formatos como csv, txt, Excel, entre otros.

La importación de datos se usa cuando tenemos archivos con unos datos comúnmente en la estructura rectangular: filas y columnas.

Importar archivos csv

R cuenta la función read.csv() para importar archivos con la extensión .csv ( Comma Separated Values ) y se usa de la siguiente manera:

read.csv("nombre del archivo.csv")

print(read.csv("Datos.csv"))
                   Nombre.Edad.Género.Peso.Estrato
Ángela;22;F;62                                 5;3
José;10;M;75                                   8;4
Juan ;15;M;54                                  4;3
Manuela;35;F;73                                6;3
Maribel;50;F;70;5
Antonio;45;M;180;4
Alicia;1;F;15                                  7;1
Luis;32;M;103                                  5;5

Los datos están separados por ;, se debe agregar sep = ",".

print(read.csv("Datos.csv", sep = ";"))
   Nombre Edad Género  Peso Estrato
1  Ángela   22      F  62,5       3
2    José   10      M  75,8       4
3   Juan    15      M  54,4       3
4 Manuela   35      F  73,6       3
5 Maribel   50      F    70       5
6 Antonio   45      M   180       4
7  Alicia    1      F  15,7       1
8    Luis   32      M 103,5       5

La cuarta columna tiene valores numéricos con decimales separados por ,, se debe especificar dec = ",". En algunos casos puede usarse dec = "."

print(read.csv("Datos.csv", sep = ";", dec = ","))
   Nombre Edad Género  Peso Estrato
1  Ángela   22      F  62.5       3
2    José   10      M  75.8       4
3   Juan    15      M  54.4       3
4 Manuela   35      F  73.6       3
5 Maribel   50      F  70.0       5
6 Antonio   45      M 180.0       4
7  Alicia    1      F  15.7       1
8    Luis   32      M 103.5       5

Se puede indicar que la primera fila del archivo es un encabezado de las columnas: header = TRUE.

En R TRUE se puede abreviar con solo T y FALSE con solo F.

Adicionalmente, podemos crear una variable para almacener los datos del archivo Datos.csv.

datos = read.csv("Datos.csv", sep = ";", dec = ",", header = T)
print(datos)
   Nombre Edad Género  Peso Estrato
1  Ángela   22      F  62.5       3
2    José   10      M  75.8       4
3   Juan    15      M  54.4       3
4 Manuela   35      F  73.6       3
5 Maribel   50      F  70.0       5
6 Antonio   45      M 180.0       4
7  Alicia    1      F  15.7       1
8    Luis   32      M 103.5       5

Cuando se importan gran cantidad de datos se aconseja usar la función head() para mostrar sola las primeras seis filas y la función tail() para ver las últimas seis filas.

print(head(datos))
   Nombre Edad Género  Peso Estrato
1  Ángela   22      F  62.5       3
2    José   10      M  75.8       4
3   Juan    15      M  54.4       3
4 Manuela   35      F  73.6       3
5 Maribel   50      F  70.0       5
6 Antonio   45      M 180.0       4
print(tail(datos))
   Nombre Edad Género  Peso Estrato
3   Juan    15      M  54.4       3
4 Manuela   35      F  73.6       3
5 Maribel   50      F  70.0       5
6 Antonio   45      M 180.0       4
7  Alicia    1      F  15.7       1
8    Luis   32      M 103.5       5

Importar archivos .txt

datos = read.table("Datos.txt", dec = ",", header = T) # no se incluyó sep = ";"
print(head(datos))
   Nombre Edad Género  Peso Estrato
1  Ángela   22      F  62.5       3
2    José   10      M  75.8       4
3    Juan   15      M  54.4       3
4 Manuela   35      F  73.6       3
5 Maribel   50      F  70.0       5
6 Antonio   45      M 180.0       4

Importar archivos de Excel

Para importar archivos con extensiones .xls o .xlsx se de instalar la siguiente librería:

install.packages("readxl") esta línea de código se corre una sola vez, pero cada vez que queramos usarla se debe utilizar el siguiente código:

library("readxl")

library("readxl")
datos = read_excel("Datos.xlsx")
print(head(datos))
# A tibble: 6 x 5
  Nombre   Edad Género  Peso Estrato
  <chr>   <dbl> <chr>  <dbl>   <dbl>
1 Ángela     22 F       62.5       3
2 José       10 M       75.8       4
3 Juan       15 M       54.4       3
4 Manuela    35 F       73.6       3
5 Maribel    50 F       70         5
6 Antonio    45 M      180         4