En el anterior capítulo creábamos vectores y matrices con las funciones c y matrix pero en R disponemos de otros medios para leer o introducir datos. Empezamos con la entrada manual de datos:
> # Entrada manual de datos
> ej.3.1 <- scan()
1: 1 2
3: 4 5
5: 6 7
7:
Read 6 items
> ej.3.1
[1] 1 2 4 5 6 7
>
Para introducir manualmente datos en R disponemos de la función scan e introduciremos los datos manualmente separando las entradas con un espacio, para finalizar empleamos intro en una línea sin datos, R nos indicará los registros leídos. La función scan también puede leer ficheros de texto planos si le pasamos el fichero como parámetro:
> > ej.3.2 <- scan("c:\\windows\\temp\\fichero_texto1.txt")
Read 8 items
> ej.3.2
[1] 123 456 765 345 23 567 78 900
>
Como vemos es necesario separar los directorios con \\ en vez de \. El proceso ha leído 8 registros de un fichero plano fichero_texto1.txt que tiene la siguiente estructura:
123 456 765 345
23 567 78 900
Es un fichero con 2 registros y 4 columnas, sin embargo scan interpreta que es un fichero sin saltos de línea. Por ello para leer ficheros de texto es más recomendable emplear la función read.table:
> ej.3.3 <- read.table("c:\\windows\\temp\\fichero_texto1.txt")
Warning message:
In read.table("c:\\windows\\temp\\fichero_texto1.txt") :
linea final incompleta encontrada por readTableHeader en 'c:\windows\temp\fichero_texto1.txt'
> ej.3.3
V1 V2 V3 V4
1 123 456 765 345
2 23 567 78 900
>
Ahora hemos leído 2 registros y 4 variables y hemos creado una tabla con la estructura del fichero de texto. Si el fichero de texto tuviera los nombres de los campos que leemos habríamos de trabajar con los parámetros opcionales de la función scan:
> ej.3.3 <- read.table("c:\\windows\\temp\\fichero_texto1.txt",header=TRUE)
Warning message:
In read.table("c:\\windows\\temp\\fichero_texto1.txt", header = TRUE) :
linea final incompleta encontrada por readTableHeader en 'c:\windows\temp\fichero_texto1.txt'
> ej.3.3
Puntuacion1 Puntuacion2 Puntuacion3 Puntuacion4
1 123 456 765 345
2 23 567 78 900
>
En este caso disponíamos de un fichero de texto con cabeceras, por ello ha sido necesario modificar a verdadero (TRUE) el parámetro header de la función read.table. Para saber que parámetros tienen las distintas funciones de R y obtener ayuda sobre ellas en la línea de comandos debemos introducir ?<función>:
> ?read.table
>
En función de la configuración de la ayuda que hayamos hecho en el momento de la instalación obtendremos un pop-up o bien la información sobre la función en la misma pantalla de R.
Con estas herramientas ya estamos en disposición de crear estructuras de datos más complejas. En sucesivas entregas leeremos datos de otros orígenes (SAS, ODBC,…)
¿Y con Linux?