martes, 31 de marzo de 2009

R: Datos

En cualquier estudio estadístico, es de vital importancia el manejo de un conjunto de datos que reflejen la población o una muestra para los posteriores experimentos y análisis estadísticos.

Este capítulo tratará sobre cómo leer archivos de datos y cómo guardarlos, así cómo los distintos formatos que manejan R.

Leer un Fichero de Datos.

Para la lectura de un fichero de datos de forma directa, se emplea la función read.table(), eso sí, para una correcta lectura, dicho archivo externo deberá reunir las condiciones necesarias, en resumidas cuentas, dichas condiciones son:

  • La primera línea del archivo debe contener el nombre de cada variable de la hoja de datos.
  • En cada una de las siguientes líneas, el primer elemento es la etiqueta de la fila, y a continuación deben aparecer los valores de cada variable.
Por ejemplo, un fichero de datos como el siguiente:

Columna1Columna2Columna3Columna4Columna5
Fila154.75128.057.5no
Fila257.50101.054.2no
Fila357.50131.068.8no
Fila459.7593.051.9si


Los elementos numéricos (excepto las etiquetas de las las filas) se almacenan como variables numéricas, y los no numéricos, como Columna5, se fuerzan como factores.

Normalmente, los archivos de texto no disponen de etiquetas de filas, aún así, es posible la lectura en R, siempre y cuando se cumplan las condiciones necesarias mínimas expuestas anteriormente, indicando a la función read.table(), que no están dichas etiquetas de filas.

Por ejemplo en el archivo de datos siguiente:

Columna1Columna2Columna3Columna4Columna5
54.75128.057.5no
57.50101.054.2no
57.50131.068.8no
59.7593.051.9si


Debemos indicarle a la función read.table() que el primer elemento no es una etiqueta de fila:

> prueba1 <- read.table("C://Users//Hades//Desktop//Prueba1.txt", header=T)
> prueba1
Columna1 Columna2 Columna3 Columna4 Columna5
1....54.75........128..............5.................7.5..........no
2....57.50........101..............5................4.2...........no
3....57.50........131..............6................8.8...........no
4....59.75........93...............5.................1.9...........si

Donde el parámetro adicional, header=T, indica que la primera línea es una línea de cabeceras y que no existen etiquetas de las explícitas y se puede observar que R indica un número de fila automáticamente.

La función read.table() es bastante interesante, ya que si por ejemplo, los datos que están contenidos en un fichero de datos el punto decimal es una coma ',' se le puede indicar a R que lo trate como punto decimal: dec = ",". También se pueden saltar líneas (skip) y leer un número determinado de líneas (nrows).

En definitiva, se recomienda el uso de la ayuda para profundizar más sobre la versatilidad de esta función.

Acceso a Datos Internos.

En R, se incluyen alrededor de cincuenta objetos con datos, y otros más se incluyen en las bibliotecas (incluyendo las estándar). Para utilizar estos datos, deben cargarse utilizando la función data().

Para ver que ficheros de datos contiene R, introducimos el consola:

> data()

Y se nos abrirá una ventana con todos los objetos que contienen ficheros de datos, por ejemplo, para cargar el primero: AirPassengers

> data(AirPassengers)

Y en este momento, dichos datos estarán cargados para poder ser usados, y para corroborarlo, podemos escribir:

> AirPassengers

Y se nos presentará por consola los datos del fichero, o usar la función ls() para ver que objetos tenemos cargados hasta ahora:

> ls()
[1] "AirPassengers" "prueba" "prueba1"


Guardar Datos.

A menudo es imprescindible guardar datos en un fichero externo, en R, es bastante fácil con la función save().

Por ejemplo, tenemos el siguiente vector:

> x <- rnorm(50)

Y queremos guardarlo en un archivo:

> save(x, file = "C://x.RData")


Automáticamente se creará el archivo x.RData en el directorio C de nuestro ordenador. En caso de querer guardar más de un objeto, es igual de sencillo:

> x <- rnorm(50)
> y <- rep(0:3)

Para guardar dichos objetos:

> save(x, y, file = "C://xy.RData")

Y ya estarán guardados ambos objetos en el archivo xy.RData.

Para poder cargarlos en una sesión en R, usaremos la función load():

> load("C://x.RData")

Y ya lo tendremos disponible, una cosa a tener en cuenta es la dirección donde esté alojado el archivo de datos a cargar.

También es posible importar ficheros de datos de otros programas tipo: EXCEL, SPSS, etc. Para ello, es necesario instalar las librerias adecuadas para tales menesteres.

Y por último, recomendar que se emplee la ayuda para las funciones mencionadas en este capítulo para profundizar sobre su manejo.

Los archivos usados de ejemplo para este capítulo se disponen en el siguiente enlace:


Fichero
Prueba.txt
Prueba.txt
Prueba1.txt
Prueba1.txt

0 comentarios: