Análisis estadístico y econométrico usando GNU R
Introducción
editarConceptos Básicos
editarObjetos de R: Se llama objetos a las estructuras que se crean en R para almacenar o representar datos. Estos pueden ser entidades simples como vectores o matrices o entidades más complejas como listas o funciones.
Espacio de trabajo: Se le llama espacio de trabajo a la colección de objetos creados y almacenados en la memoria durante una sesión de R.
Algunos comandos útiles
editarls () : nos muestra la lista de objetos que hay en el espacio de trabajo. rm () : borra objetos del espacio de trabajo. help () : abre el sistema on-line de ayuda.
Creando Objetos de Datos en R
editarR es un lenguaje funcional en el cual la mayoría de las operaciones se realizan mediante el uso de funciones. Ya sea funciones que vengan incorporadas en R o funciones que nosotros hayamos construido.
La función "c()"
editarLa función c () es un ejemplo de una función simple de R que se usa para crear un tipo de objeto llamados vectores, como los siguientes:
> y <- c(5.0,7.1,13) > y [1] 5.0 7.1 13.0
> regiones <- c("Pacifico","Centro”,"Atlántico") > regiones [1] "Pacifico” “Centro” “Atlántico”
La función "scan()"
editarCuando el número de datos se vuelve grande es más práctico usar la función scan (). Con esta función se pueden introducir una gran cantidad de datos desde el teclado separándolos con espacios en blanco. Para introducir los datos la función scan() le pide que introduzca datos en una o más líneas hasta que se le indica con un espacio en blanco el final de la lista de datos.
Ejemplo 1:
> z=scan() 1: 3.7 6.5 1.9 8.4 10 6: 6.2 15 11.4 9: 13.45 10: Read 9 items
>z [1] 3.70 6.50 1.90 8.40 10.00 6.20 15.00 11.40 13.45
Para introducir valores de datos en forma de cadenas de caracteres se usan los argumentos what=””, donde el valor “” indica que se trata de cadena de caracteres.
Ejemplo 2:
> amigos=scan(what="") 1: Carlos Juan Denis 4: Read 3 items
> amigos [1] "Carlos" "Juan" "Denis"
Hay que notar que los nombres están separados por un espacio en blanco. Sin embargo si queremos especificar un separador diferente podemos usar el argumento sep=”,”. En este caso estamos indicando que el separador escogido es “,”.
Ejemplo 3:
> amigos=scan(what="",sep=",") 1: Carlos, Juan, Denis 4: Francisco, Manuel, Guillermo 7: Read 6 items
> amigos [1] "Carlos" " Juan" " Denis" "Francisco" " Manuel" [6] " Guillermo" >
Por defecto, cuando se especifica que el argumento "what=0", se le esta diciendo a la función "scan()" que los datos que vamos a introducir son numéricos.
La función "read.table()"
editarEste tutorial asume que la persona esta familiarizada con la generación de datos en hojas de cálculo, por lo tanto a continuación explicaremos como importar datos generados en uno de estos programas.
Para importar tablas generadas en una hoja de calculo, se debe procurar exportar la hoja en formato csv, alternativamente podemos utilizar el formato DIF, pero en este ejemplo usaremos el formato csv.
Para leer este archivo con extensión csv usaremos la función read.table, pues esta función nos permite leer archivos en formato de tablas y crear una matriz de datos a partir de ella, con casos que corresponden a las filas y variables que correspondan a las columnas.
Ejemplo 4: Generamos una tabla en la hoja de calculo con los siguientes datos:
1970 124.3 49.4 1971 120.1 41.5 1972 118.4 46.3 1973 118.6 54.7 1974 118.9 65.6 1975 119.0 54.6 1976 120.0 104.4 1977 120.0 184.4 1978 120.0 167.7 1979 135.0 131.6
guardamos el archivo con el nombre cafe y extensión csv, cafe.csv.
Ahora importamos con la siguiente sintaxis:
> cafe=read.table("Cafe.csv", header=FALSE, sep=",")
> cafe V1 V2 V3 1 1970 124.3 49.4 2 1971 120.1 41.5 3 1972 118.4 46.3 4 1973 118.6 54.7 5 1974 118.9 65.6 6 1975 119.0 54.6 7 1976 120.0 104.4 8 1977 120.0 184.4 9 1978 120.0 167.7 10 1979 135.0 131.6
Notese que el argumento "header=FALSE", esto es así pues al introducir los datos en la hoja de calculo no se dejo una primera línea como encabezado. En caso contrario el argumento sería "header=TRUE", lo cual nos permite leer este encabezado.