Introducción A R (II)
Introducción A R (II)
Introducción A R (II)
Este documento es parte de una coleccin de tutoriales elaborados para Grupo de Usuarios R de Nicaragua. R es un software estadstico (libre) de licencia GNU. Puede descargarlo desde http://www.rproject.org. En la elaboracin de este tutorial se ha hecho uso solo de softwares libres: Ubuntu, L X, Latex, LibreOce y R. Apoyamos Y el uso del software libre para los pases en vas de desarrollo.
Contents
1 Primeros comandos 2 Ayuda en R 3 Objetos 2 5 6
4 Cmo darle un directorio a R para guardar bases de datos incluidos objetos? 7 5 Instalar paquetes 6 Importar bases de datos
6.1 6.2
7 8
8 11
Ingresar observacin por observacin . . . . . . . . . . . . . . . . Importar bases de datos desde otros formatos digitales. . . . . . .
Se debe destacar que R es un lenguaje y entorno de programacin a como se expresan en wikipedia u otras fuentes que mencionan caractersticas de este software. Es por ello que no se debe preocupar en una interface amigable, sino en conocer los comandos necesarios para dar rdenes a R basado en los resultados estadsticos, matemticos o grcos que se desean obtener. Una vez vencida la curva inclinada de aprendizaje del lenguaje R, el usuario ver que R es ms fcil que los softwares comerciales. El lenguaje le permitir un mayor control de su trabajo y por que no decirlo?, dir adios al secretismo sobre la forma de obtencin de resultados a como sucede en los software comerciales.
Primeros comandos
Conocer comandos que nos permitan empezar con R, es algo fundamental. Revisar la memoria, obtener lista de paquetes, instalar paquetes y abrir la ayuda reducir la frustracin en el este primer trazo pedragoso en el camino de aprender R. Abrimos R en windows dando doble clic a su cono que es una R que tiene la apariencia de haber sido coloreada por un nio. Debe tener algn tipo de signicado. Ahora si se quiere abrir R en un sistema operativo linux, sencillamente debemos abrir la terminal y ejecutar el comando R y luego enter. Si contamos con la interface Rstudio en ambos casos (windows o linux) solo buscamos el cono que se asemeja a una bola de billar azul con una R blanca, muy llamativa. Al abrir R, aparece la siguiente advertencia:
R version 2.15.0 (2012-03-30) Copyright (C) 2012 The R Foundation for Statistical Computing
2
ISBN 3-900051-07-0 Platform: i686-pc-linux-gnu (32-bit) R es un software libre y viene sin GARANTIA ALGUNA. Usted puede redistribuirlo bajo ciertas circunstancias. Escriba 'license()' o 'licence()' para detalles de distribucion. R es un proyecto colaborativo con muchos contribuyentes. Escriba 'contributors()' para obtener ms informacin y 'citation()' para saber cmo citar R o paquetes de R en publicaciones. Escriba 'demo()' para demostraciones, 'help()' para el sistema on-line de ayuda, o 'help.start()' para abrir el sistema de ayuda HTML con su navegador. Escriba 'q()' para salir de R. [Workspace loaded from ~/.RData] >
Es lo nico en cualquier interface que nos dice que R es un software estadstico. Parte de la advertencia es que R no posee garanta alguna, esto es un requisito a cumplir para todo software que hace uso de la licencia GNU. Esta falta de garanta no tiene nada que ver con la calidad del software sino que es una advertencia para nes comerciales. Es decir, si este software se utiliza, vende o modica para nes lucrativos los daos derivados sern completamente responsabilidad de quien realiz la accin y no de la organizacin que administra el software. Las palabras que van antes de los dos parntesis son comandos. Se pueden mirar comando para obtener la licencia en la que se basa R, comando para citarlo en referencias y comando para mirar la lista de contribuyentes de R. Haremos un ejercicio divertido, unos de los comandos talvez el mas utilizado cuando habres por primera vez R, es demo(). Dnde escribir demo()?. Este se escribe adelante del smbolo de mayor >. Este simbolo siempre sobr como ltima lnea y nos da la indicacin de que R ha dejado de procesar la orden anterior y est preparado de recibir una nueva orden. A ejecutar
>demo()
Nos abrir una segunda ventana que contendr lo siguiente:
Demos in package 'base': error.catching More examples on catching and handling errors
3
Explore some properties of R objects and is.FOO() functions. Not for newbies! Using recursion for adaptive integration An illustration of lexical scoping.
Demos in package 'graphics': Hershey Japanese graphics image persp plotmath Tables of the characters in the Hershey vector fonts Tables of the Japanese characters in the Hershey vector fonts A show of some of R's graphics capabilities The image-like graphics builtins of R Extended persp() examples Examples of the use of mathematics annotation
Demos in package 'stats': glm.vr lm.glm Some glm() examples from V&R with several predictors Some linear and generalized linear modelling examples from 'An Introduction to Statistical Modelling' by Annette Dobson Nonlinear least-squares using nlm() 'Visualize' steps in Tukey's smoothers
nlm smooth
Use 'demo(package = .packages(all.available = TRUE))' to list the demos in all *available* packages.
En la base de R nos encontraremos con los ejemplos anteriores contenidos en los paquetes enlistados. Por ejemplo, si queremos echar un vistazo a la capacidad grca, solo ejecutamos con enter:
>demo(graphics)
Nos abrir otra ventana que contendr los grcos puestos de ejemplos por parte del paquete graphics. Dndo enter cambiar de grco. El usuario puede ir probando con otros paquetes enlistados como por ejemplo, perp, tan solo deber cambiar entre parntesis el graphics por perp. Ahora pues Qu son paquetes? denominadas comandos. Son archivos comprimidos en zip o ta.gz que condensan un conjunto de rutinas condensadas en funciones comunmente R al descargarse por primera vez e instalarse, trae
consigo un conjunto de paquetes bsicos. Los del ejemplo anterior son algunos de los que trae.
Ayuda en R
A diferencia de otros software su
Es necesario invocar la ayuda en R, se necesita de mayor interaccin con la ayuda de R para evitar las frustraciones. servidor ha tenido la experiencia de encontrar todo lo que necesita por medio de la pgina de ayuda, libros y foros de internet. Adems R cuenta con listas de correos donde millones de usuarios tienen tiempo de responder a todas las dudas surgidas. El primer paso es explorar la pgina ocial de R la cual es http://www.rproject.org. Seamos como nios, exploremos todo lo que est a nuestro alcance y llegaremos lejos. Hagmosnos preguntas y no nos frustremos pues en R para todo existes un camino dicil o fcil. En R tambin contamos con comandos especcos para invocar ayuda. Estos comandos son:
Reconocern en todo software la palabra help, esto es ayuda en nuestro idioma. R posee un comando con este nombre, si ejecutamos:
>help()
Nos aparecer una lineas sobre la utilizacin del comando ayuda, por lo que si queremos obtener la ayuda de con comando especco solamente escrbimos entre parentesis el comando:
>help(solve)
Aparecer la documentacin de ayuda de solve. Esta se compone de la presentacin una sintasis general, la explicacin de cada parte de la sintaxis y un ejemplo funcional. Esto funciona si el paquete que contiene el comando est activo. Soy de los que considera que la ayuda de stata no tiene la facilidad de la ayuda de R. Si queremos la ayuda sobre un paquete especco aplicamos esto:
>help(package="Matrix")
Al aplicar el ejemplo anterior nos saldr la ayuda disponible para el paquete especicado, presentndose adems la lista de comandos que tal ejecuta. Tambin obtenemos lo mismo con ?Matrix
R hace uso de navegador web para poner a disposicin un sistema base de ayuda oine pero completo. La manera de ejecutador eso con:
>help.start()
Este sistema es manejable para cualquier usuarios. Posee manuales y referencias adems de un fuerte como la lista de paquetes instalados en R.
Se puede hacer uso del anterior sistema de ayuda para buscar comandos o paquetes. Se debe ejecutar:
>??matrix
En el ejemplo con matrix nos llevar a una pgina con los resultados de la busquedad. Es importante recordar que R hace diferencia entre Maysculas y
Minsculas. En el ejemplo anterior se invoc el comando y no el paquete el cual empieza con mayscula.
Todas las ordenes anteriores se pueden recuperar con las tecla direccional arriba, se pueden volver a ejecutar o crear una nueva orden.
Objetos
Estos objetos pueden nombrarse con Por tal razn a diferencias de Stata y algo
Los que manipula R se llaman objetos. la palabra que est atr del <- .
similar a Eviews, en R podemos nombrar nuestros resultados y salidas grcas. Lo podemos invocar unicamente ejecutando el nombre que se le ha dado. Por ejemplo, si corremos una regresin, podemos llamarle regresion1. Si queremos recuperarla en la sesin de trabajo actual, solo escribimos regresion1 y nos aparecer.
Los objetos se acomodan en la memoria virtual que est utilizando R en ese momento. A diferencia de otros software, R no necesita previa reasignacin de memoria virtual o fsica para cargar grandes bases de datos.
Obtener una lista de los objetos que tiene R disponible en la actual sesin de trabajo:
>objects()
Como se notar, en la consola aparece la lista de objetos disponibles o creados por el usuarios y los cuales pueden invocarse con sus respectivos nombres. Estos pueden ser desde variables hasta bases de datos. Con el comando rm( ) y entre este parntesis los nombres incluidas las comillas podemos eliminar los objetos que no necesitemos. Dentro del parntesis R no reconoce los espacios por eso para separar elementos dentros del parntesis debe utilizarse las comas. Otro comando til para obtener la lista de objetos es ls( ). Todos los objetos se han almacenado en un espacio virtual llamado en R workspace. Este workspace se puede guardar en un archivo con la extensin .RData. Al guardar por medio de comandos este archivo se guarda en el directorio de trabajo previamente establecido en R.
Tener una carpeta especial es indispensable para trabajar con R, dentro de esta carpeta podemos crear subcarpetas que sean especcamente para cada sesin especial de trabajo. Esto evita tener problemas a la hora de utilizar nombres ya denidos en objetos. Para nombrar un directorio de trabajo ejecutamos la siguiente lnea:
La mayora de interfaces nos permite hacer lo anterior por medio de menu interactivos. En Rstudio solamente nos vamos al recuadro derecho inferior especicamente a la pestaa le, elegimos la carpeta o vamos a hacer clic a los tres puntos (...), nos permitir seleccionar la carpeta y damos aceptar, por ltimo nos vamos al botn More que tiene como smbolo una tuerca azul, al desplazarse el men seleccionamos Set As Working Directory. Listo ya hemos especicado el directorio.
Instalar paquetes
Se habia dicho con anterioridad que los
paquetes agrupan rutinas que conforman un conjunto de funciones creada para ciertos nes. R viene con paquetes bsicos pero en internet pueden buscarse un conjunto de paquetes que personalicen nuestro R para nuestras diario trabajo en la profesin o la universidad. Existen paquetes agrupados en econometra, nanzas, clculos, etc. Los paqutes estn disponibles en internet las 24 horas del das desde el interior del saln de informticas de reconocidos institutos de investigacin y universidades. ejemplo: ineq es un paquete que integra a R funciones para medir desigualdad con respecto aun indicador en una muestra poblacional. En este paquete encontramos el ndice gini y la curva de lorenz, indicadores bsicos para medir la concentracin de los ingresos de las personas. Para instalar ineq se ejecunta en R: El comando para instalar un paquete se mir en el siguiente
> install.packages("ineq")
Si ejecutamos esto por primera vez nos preguntar de qu instituto o universidad del mundo deseamos obtenerlo. No tendrn diferencia alguna porque solo son espejos de la web ocial de R, espejos en el mundo informtico se reere una computadora que aloja una pgina web igual a la original sin ninguna diferencia notable. Se recomienda elegir el espejo que se encuentre ms cerca de su pas para hacerle ms eciente la descarga a R. Este comando install.packages nos solo descargar el paquete sino que tambin las dependencias. Las dependencias son otros paquetes que permitir que ineq cumpla su cometido. Puedo descargar paquetes sin tener internet? La pgina para descargarlos es de http://dirichlet.mat.puc.cl/web/packages/ para el caso de la Ponticia Universidad Catolica de Chile. Se puede ir un a cyber, la casa de un amigo o donde tengamos accesos a internet ya sea en el celular, ipad o tablet, ingresar a la pgina ocial de R y descargar el paquete. Si lo vamos a utilizar en un R instalado en Windows, descargar el paquete con extensin .zip, si fuera para linux ser necesario descargarlo en extensin .tar.zg. No se deben olividar descargar tambin las dependencias. Podemos llevar nuestros paquetes en una memoria usb, disco o celular y descomprimirlo en una caperta llamada win-library en windows o pc-linux-gnu-library en linux . Esta carpeta se encuentra en otra llamada R que la puede encontrar en Mis documentos en windows o Carpeta persona en linux. Ahora pues solo resta activarlos y este paso solo se logra con el comando library() y entre parntesis y comillas mencionar el paquete. Ejemplo:
> library("ineq")
En todo software existen dos forma de importar bases de datos. Estas son:
En este tutorial vamos a ver las dos formas. Son nuestros primeros pasos para trabajar con R.
6.1
Cuando tenemos una base de datos solo disponible en un documento fsico o ingresar respuestas de una encuesta. observacin a esto conocemos como digitalizar. La mayora de usuarios informticos ingresar las observaciones en excel, nosotros podremos hacerlo directamente a R. En ocaciones es mejor ingresar directamente a excel o LibreOce Calc para dejarla disponible en un formato universal aceptado por cualquier otro software. Actualmente se dispone de un software comercial llamado Stat
Transfer para convertir a varios formatos aun no existe una variante libre, algo muy lamentable. Pero tenemos la opcin de convertir bases simples elaboradas en R a los formatos ms comunes utilizando comandos de R, esto lo veremos ms adelante en exportar. Con el ltimo mtodo talvez no nos haga falta un Stat transfer pero aun existen formatos a los cuales no podremos importar. La forma ms simple consiste formado vectores. Por ejemplo crear el vector con los nmeros 1, 4, 3, 6, 8, 9 en el orden para la variable x. Sera:
1:
Este es el momento exacto para dar clic derecho y pegar. queda as: Damos enter y
Despus de ingresar una base de datos de la forma anterior es necesario aplicar el comando attach () para poder trabajar por separado cada variable.
> attach(base)
Si quisieramos crear un data.frame (estos son conjunto de variables ordanadas como en una hoja de clculo) aplicariamos:
10
6.2
R tiene un potente paquete llamado foreign, este paquete nos permite importar bases de datos que ya se encuentran los formatos de softwares estadsticos ms comunes. Por ejemplo, el .sav de SPSS y el .dta de Stata. Para poder ingresar de otros formatos podemos aplicar el comando ayuda para el paquete foreign.
> ?foreign
Obtendremos una explicacin sencilla de qu formatos puede leer. Por ejemplo para leer formato en SPSS, la ayuda nos da el comando read.sav, debe recordar que sav es la extensin de los archivos de stata. Si ahondar en la sintaxis que nos permite hacer ms, presentamos cmo debemos importar desde SPSS: Activar el paquete foreign y ejecutar la lnea de importacin:
11
> library(foreign) > base <- read.dta("~/Escritorio/Econometria / + base datos stata/BASE DE DATOS/poblacion.dta")
Con anterior ejemplo tambin damos como quedara la direccin de una base de datos desde mi Sistema Operativo Linux. Tambin tenemos el paquete gdata, excelente para leer archivos de excel. Primeramente habr que instalar este paquete porque no est incluido de base en R.
12
> load("base.RData")
Hemos podido compartir un buen material. Se debe poner en prctica esta leccin ya que es base fundamental para empezar a trabajar con R. Es necesario tomar nota de esto: antes de ingresas una base de datos desde un archivo a R,
se debe asegurar que en la primera la nicamente aparecen los encabezados o nombres de cada variable, si no es el caso tendramos que editar la base con su respectivo software.
El prximo tutorial se llamar Estdsticas bsicas R (III). La finalidad de este y otros tutoriales de mi autora es poner a disposicin de la comunidad una coleccin exhaustiva de tutoriales sencillos y en espaol para aprender a utilizar R. Comunicarse a morales.economia@gmail.com si desea aportar a este manual con sugerencias, comentarios, dinero o unirse a esta redaccin. Todos los aportes sern mencionados. Gracias de antemanos?. Grupo de Usuarios R Nicaragua: https://www.facebook.com/groups/usuariosrnicaragua/
13