¿Cómo leer archivos TXT en R?
Puedes leer un archivo TXT en R con la función read.table
. Importar archivos TXT en R rara vez necesita más argumentos de los especificados a continuación. Aun así, en las siguientes subsecciones explicaremos dos más (skip
y skipNul
) por si resultan de interés, pero en caso de que quieras conocer todos los argumentos, puedes encontrarlos en la documentación de la función read.table o llamando a la ayuda de la función con ?read.table
. Esta sintaxis básica afecta a casi todos los archivos de datos TXT.
read.table(file, # Archivo de datos TXT indicado como string o ruta completa al archivo
header = FALSE, # Si se muestra el encabezado (TRUE) o no (FALSE)
sep = "", # Separador de las columnas del archivo
dec = ".") # Caracter utilizado para separar decimales de los números en el archivo
Considera, como ejemplo, que tienes un archivo llamado mi_archivo.txt
y que lo has guardado en tu directorio de trabajo. Puedes leerlo con el siguiente código, si quieres mostrar también el encabezado (nombres de las columnas).
data <- read.table(file = "mi_archivo.txt", header = TRUE)
head(data)
read.table
será de la clase “data.frame”.
En caso de que tengas el archivo en otro directorio que no sea su directorio de trabajo, deberás especificar la ruta completa donde se encuentra el archivo de datos.
data <- read.table(file = "C:\\Mi_ruta\\mi_archivo.txt", header = TRUE)
data <- read.table(file = "C:/Mi_ruta/mi_archivo.txt", header = TRUE) # Equivalente
También hay dos funciones (read.delim
y read.delim2
) para tratar con archivos delimitados de forma predeterminada. Estas funciones tienen los argumentos predeterminados siguientes:
read.delim(file = "mi_archivo.txt" header = TRUE, sep = "\t", dec = ".")
read.delim2(file = "mi_archivo.txt", header = TRUE, sep = "\t", dec = ",")
Función | header | sep | dec |
---|---|---|---|
read.table | FALSE | “” | “.” |
read.delim | TRUE | “\t” | “.” |
read.delim2 | TRUE | “\t” | “,” |
Saltar filas con el argumento skip
A veces, los archivos TXT que estás leyendo contienen algunas líneas de texto antes del conjunto de datos. Para ese propósito, puedes usar el argumento skip
, que por defecto está establecido en 0. Como ejemplo, en caso de que haya 5 líneas de texto antes de tus datos, puedes leer el archivo de la siguiente manera:
read.table(file = "mi_archivo.txt", skip = 5)
¿Cómo identificar valores NULL en un TXT?
Si tu archivo de datos TXT contiene valores NULL
, puedes establecer el argumento skipnul
como TRUE
para obviarlos.
read.table(file = "C:\\My_path\\mi_archivo.txt", skipnul = TRUE)
Importar TXT desde una URL en R
En caso de que tengas un archivo TXT alojado en algún sitio web, puedes abrirlo sin descargarlo. Solo necesita pasar la URL como cadena al primer argumento de la función.
url <- "http://courses.washington.edu/b517/Datasets/string.txt"
datos <- read.table(url, header = TRUE)
Descargar TXT en R
Ahora que ya sabes cómo leer un TXT en R, debes tener en cuenta que puedes descargar directamente un archivo TXT a tu directorio de trabajo con la función download.file
, pasando como primer argumento el enlace y como segundo el nombre que le quieras poner a los datos de tipo .txt.
getwd() # Directorio donde se guardará el archivo
url <- "http://courses.washington.edu/b517/Datasets/string.txt"
download.file(url, "mi_archivo.txt")
Si no quieres que el archivo se guarde en el directorio de trabajo actual, puedes especificar la ruta donde quieras que se descargue el archivo.
download.file(url, "C:\\carpeta\\mi_archivo.txt")