introducción al r

31
Introducción al R Víctor Morales Oñate 20/02/2013 Índice 1. Introducción 2 1.1. Características de R y su funcionamiento ............. 2 1.1.1. Características ........................ 2 1.1.2. ¿Cómo funciona? ....................... 3 1.2. Entorno Gráfico ............................ 3 1.3. Objetos en R ............................. 4 1.3.1. Objetos ............................ 4 1.3.2. Objetos en R ......................... 5 1.3.3. Nombres de los objetos y consideraciones ......... 9 1.4. Ayuda de R .............................. 10 2. Operaciones con Objetos 11 2.1. Operaciones básicas en R ...................... 11 2.1.1. Creación de secuencias .................... 12 2.1.2. Funciones básicas y operaciones con matrices ....... 12 2.2. Bluces ................................. 14 3. Funciones gráficas 15 3.1. Gráficas de alto nivel ......................... 15 3.1.1. Plot .............................. 16 3.1.2. Boxplot ............................ 18 3.1.3. Pie ............................... 20 3.2. Gráficas de bajo nivel ........................ 21 4. Funciones estadísticas 22 5. Análisis de Varianza 24 6. Estadística Descriptiva, bases de datos con factor de expansión 26 6.1. Estadísticas descriptivas mediante el diseño muestral de la encuesta. 27 1

Upload: victor-morales-onate

Post on 26-Nov-2015

45 views

Category:

Documents


2 download

DESCRIPTION

Documento de introducción al R para principiantes

TRANSCRIPT

  • Introduccin al R

    Vctor Morales Oate

    20/02/2013

    ndice1. Introduccin 2

    1.1. Caractersticas de R y su funcionamiento . . . . . . . . . . . . . 21.1.1. Caractersticas . . . . . . . . . . . . . . . . . . . . . . . . 21.1.2. Cmo funciona? . . . . . . . . . . . . . . . . . . . . . . . 3

    1.2. Entorno Grfico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3. Objetos en R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    1.3.1. Objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3.2. Objetos en R . . . . . . . . . . . . . . . . . . . . . . . . . 51.3.3. Nombres de los objetos y consideraciones . . . . . . . . . 9

    1.4. Ayuda de R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    2. Operaciones con Objetos 112.1. Operaciones bsicas en R . . . . . . . . . . . . . . . . . . . . . . 11

    2.1.1. Creacin de secuencias . . . . . . . . . . . . . . . . . . . . 122.1.2. Funciones bsicas y operaciones con matrices . . . . . . . 12

    2.2. Bluces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    3. Funciones grficas 153.1. Grficas de alto nivel . . . . . . . . . . . . . . . . . . . . . . . . . 15

    3.1.1. Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.1.2. Boxplot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.1.3. Pie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    3.2. Grficas de bajo nivel . . . . . . . . . . . . . . . . . . . . . . . . 21

    4. Funciones estadsticas 22

    5. Anlisis de Varianza 24

    6. Estadstica Descriptiva, bases de datos con factor de expansin 266.1. Estadsticas descriptivas mediante el diseo muestral de la encuesta. 27

    1

  • 1. IntroduccinR es un sistema para anlisis estadsticos y grficos creado por Ross Ihaka

    y Robert Gentleman1. Al principio R puede resultar un tanto complejo parauna persona que no ha tenido experiencia en el manejo de paquetes estadsticos.Esto es verdad en cierta medida. Sin embargo, la curva de aprendizaje para estetipo de usuario, pese a ser lenta al principio, llega a tener excelentes resultados.Una vez que el usuario se familiariza con el lenguaje y la potencialidad de laherramienta, es capaz de desarrollar funciones y aplicaciones personalizadas. Eluso de un objeto para el manejo de R es una ventaja importante que le permitemayor versatilidad en el manejo de datos. Adems, R es un paquete totalmentelibre que se distribuye bajo la licencia GNU GPL o General Public Lisence2. Unconocimiento bsico de Ingls ayuda a manejar R con mayor facilidad.

    Se abordar en el presente documento las herramientas necesarias para quela mencionada curva de aprendizaje sea fcil de llevar y que el usuario pierdael miedo al uso de R. Es importante mencionar que la herramienta RStudio3es necesaria para que el usuario tenga un interfase ms amigable y de ese modoaprovechar la potencialidad de R.

    1.1. Caractersticas de R y su funcionamiento1.1.1. Caractersticas

    Posee una variedad de tcnicas estadsticas de fcil manejo y generacingrfica verstil y avanzada.

    Es un lenguaje completo de programacin, lo cual permite que usuariosavanzados incrementen la funcionalidad mediante la definicin de funcio-nes y paquetes.

    Es una herramienta de uso intensivo dentro de la comunidad cientfica.

    Posee capacidad de combinar, sin censuras, anlisis preempaquetadoscon anlisis ad-hoc, especficos para una situacin.

    Capacidad de combinar los diferentes objetos y sus operaciones.

    Genera grficos de alta calidad (Produccin de grficas de papers).

    La comunidad de R es muy amplia y dinmica (Ej., crecimiento del n-mero de paquetes), integrada por estadsticos de gran renombre(Ej., J.Chambers, L. Terney, B. Ripley, etc).

    Extensiones especficas a reas nuevas (bioinformtica, geoestadstica, mo-delos grficos).

    1Ihaka R. & Gentleman R. 1996. R: a language for data analysis and graphics. Journal ofComputational and Graphical Statistics 5: 299314.

    2http://www.gnu.org/licenses/gpl.html3http://www.rstudio.com/

    2

  • Un lenguaje orientado a objetos.

    Muy parecido a Matlab y Octave, y con sintaxis parecidas a C y C++.

    1.1.2. Cmo funciona?

    El siguiente esquema4 presenta el funcionamiento de R:

    Figura 1: Esquema de funcionamiento de R

    Se puede apreciar que R hace un uso efectivo de las memorias que disponeel ordenador. La memoria activa se refiere a la memoria RAM del computador.En este lugar se almacenan las funciones, datos y resultados. Todos ellos sonobjetos (se detallar mas adelante la definicin de objetos). Por otro lado einterrelacionadamente, R hace uso de la memoria del disco duro. En este lugarse ubican las libreras del paquete as como datos almacenados y las imgenesgeneradas. Complementariamente, R mantiene una comunicacin permanentecon internet para la descarga de paquetes as como para el uso y consulta de lasayudas del programa.

    1.2. Entorno GrficoR y RStudio presentan dos componentes muy importantes en el manejo de

    la herramienta, a saber: Consola y Scripts. RStudio en su afn de una mejororganizacin e implementacin de R tradicional, presenta un componente deobjetos y otro de ayudas e imgenes, entre otros.

    4Tomado de R para principiantes, Emmanuel Paradis

    3

  • Figura 2: Pantalla de RStudio

    Se puede apreciar en la figura 2 que el entorno que presenta RStudio estdividido en 4 secciones. La parte superior derecha corresponde al Script que esdonde se escriben los cdigos de R para ser guardados y ejecutados cuando seanecesario como rutinas predeterminadas. En la parte inferior derecha se encuen-tra la Consola de R. En esta consola se pueden ejecutar comandos directamentey se presentan los resultados de las instrucciones, pero se recomienda usar elScript para organizar mejor el cdigo. Hasta este momento se tiene bastantesimilitud entre R y RStudio en cuanto a estos dos componentes. Complemen-tariamente, RStudio presenta en la parte superior derecha los Objetos creadospor el usuario. Finalmente, en la parte inferior derecha se presenta un apartadopara desplegar las ayudas del paquete, directorios de trabajo y los grficos deresultado.

    1.3. Objetos en R1.3.1. Objetos

    Los objetos5 son entidades que tienen un determinado estado, comporta-miento (mtodo) e identidad. Los objetos tienen las siguientes caractersticas:

    El estado est compuesto de datos o informaciones; sern uno o variosatributos a los que se habrn asignado unos valores concretos (datos).

    5http://zarza.usal.es/~fgarcia/doc/tuto2/I_1.htm, Universidad de Salamanca, Jos Gar-ca

    4

  • El comportamiento est definido por los mtodos o mensajes a los quesabe responder dicho objeto, es decir, qu operaciones se pueden realizarcon l.

    La identidad es una propiedad de un objeto que lo diferencia del resto;dicho con otras palabras, es su identificador (concepto anlogo al de iden-tificador de una variable o una constante).

    En resumen, un objeto es una entidad que contiene datos, operaciones y unnombre.

    1.3.2. Objetos en R

    Como ya se ha dicho, los objetos son aquellos que tienen datos, operacionesy un nombre. En R casi todo es un objeto. A continuacin abordaremos cadauno de los objetos en R.

    Vector: Coleccin ordenada de objetos del mismo tipo. Veamos un ejemploen R, digite en su Script (se debe ejecutar cada lnea mediante ctrl+R octrl+ENTER):

    x

  • Array: Es una generalizacin multidimensional de un vector. Por lo tanto sonelementos del mismo tipo.

    x x[,1] [,2] [,3] [,4] [,5]

    [1,] 1 5 9 13 17[2,] 2 6 10 14 18[3,] 3 7 11 15 19[4,] 4 8 12 16 20

    La palabra array es lo que hace que R reconozca que lo que est contenido enel parntesis sea un objeto array. En esta instruccin lo que se hace crear unarray (tambin llamado arreglo) de dimensin 5 por 5. Es decir que se lo puedeinterpretar como una matriz con valores del 1 al 20 (1:20).

    La potencialidad del array est en el manejo adecuado de las dimensiones delmismo. Es decir, si se tiene un array de tres dimensiones, usted debe imaginarque tiene un cubo que tiene cajas y cada caja contiene un nmero del array.En el ejemplo anterior, lo anlogo sera un cuadrado que contiene cada valor delarreglo. Se puede tener arreglos de mayores dimensiones a tres.

    Observe que se ha usado a x como nombre del objeto para el array. Dehaber ejecutado correctamente el comando anterior del ejemplo del vector x,usted notar que la informacin se sobreescribe, es decir que los valores quecorresponden a x son los del ltimo comando ejecutado.

    Finalmente, advierta que se ha ingresado el signo de numeral (#) despusde la instruccin de creacin del arreglo x. Este signo sirve para comentar cadalnea de cdigo generado. Si se desea comentar bloques de cdigo en el Script sedebe usar comillas simples ( ) el inicio y al final del bloque.

    Dataframe: Como array, pero permiten elementos (columnas que funcionancomo vectores) de distintos tipos. Es el objeto ms habitual para manejode datos procedentes de experimentos.

    my.data.frame

  • > my.data.frameID Edad Ingreso Sexo Etnia

    1 Carla 10 NA TRUE Mestizo2 Pedro 25 34 FALSE Afroecuatoriana3 Laura 33 15 TRUE Indgena

    Es decir que usted ha creado un objeto que contiene informacin numrica,alfabtica y lgica dispuestas en forma de columnas. Cada columna, a diferenciade lo que suceda en un arreglo, puede tener un nombre en particular. En nuestroejemplo las etiquetas de las columnas son: ID, Edad, Ingreso, Sexo y Etnia.

    La columna Ingreso presenta un valor particular llamado NA. Este valorcorresponde a lo que se conoce como valor perdido (o missing value en ingls).

    En este ejemplo se puede ver que el cdigo para crear el objeto my.data.frameest dispuesto en varias lneas. Para ejecutar la instruccin debe sealar todo elcdigo y despus ejecutarlo.

    Factor: Funciona como un tipo de vector para datos categricos.

    t t[1] letter1 letter2 letter3 letter4 letter5Levels: letter1 letter2 letter3 letter4 letter5

    Se ha creado un objeto que repite la palabra que se encuentra en labels. En esteejemplo se introduce la primera funcin predeterminada en R llamada letters.Esta funcin crea las 26 letras del alfabeto romano. Veamos un segundo ejemplo:

    t t[1] a b c d eLevels: a b c d e

    Como se mencion anteriormente, se ha creado un factor con etiquetas de la 1a la cinco conteniendo las primeras 5 letras del alfabeto romano.

    List: Es un "vector generalizado". Cada lista est formada por componentes(que pueden ser otras listas), y cada componente puede ser de un tipodistinto. Son unos "contenedores generales.

    7

  • n = c(2, 3, 5)s = c("aa", "bb", "cc", "dd", "ee")b = c(TRUE, FALSE, TRUE, FALSE, FALSE)x = list(n, s, b, 3)

    Habiendo ejecutado la instruccin anterior e imprimindola, usted debe visua-lizar lo siguiente (para x):

    > x[[1]][1] 2 3 5[[2]][1] "aa" "bb" "cc" "dd" "ee"[[3]][1] TRUE FALSE TRUE FALSE FALSE[[4]][1] 3

    Advierta que en este ejemplo se usa el signo = en vez del de asignacin paracrear los objetos. Por otro lado, la lista x creada tiene dimensin 4. Cada uno delos elementos de la lista x responde a los vectores creados n,s y b ademsde un elemento incluido directamente en la lista 3. Si se desea imprimir unelemento de la lista x en particular, se debe ejecutar:

    x[3]

    Lo cual mostrar:

    > x[3][[1]][1] TRUE FALSE TRUE FALSE FALSE

    Es decir que muestra el tercer elemento de la lista, corresponde al vector b. Laforma en que se ha impreso el elemento 3 de la lista x es mediante corchetes.

    Funciones: Las funciones creadas en R no son estrictamente un objeto, perose cubrir esta apartado en esta seccin por razones didcticas.

    f_x=function(x){y=x^2y}

    En la instruccin anterior se ha puesto como ejemplo la funcin f (x) = x2. Esdecir que cada valor de entrada debe generar el cuadrado del nmero ingresadoen la funcin. Si est usando RStudio, note que en la parte superior derecha seha creado un apartado llamada Functions que es donde se almacenan todaslas funciones creadas por el usuario.

    Para probar que la funcin trabaja correctamente:

    8

  • f_x(3)

    Lo cual muestra:

    > f_x(3)[1] 9

    Es decir que se ha generado el cuadrado del nmero ingresado en la funcinf_x construida.

    1.3.3. Nombres de los objetos y consideraciones

    Los nombres vlidos para un objeto son combinaciones de letras, nmeros,y el punto (".").

    Los nombres no pueden empezar con un nmero.

    R es "case-sensitive". Es decir que x no es igual a X, son nombres deobjetos diferentes.

    Hay nombres reservados ("function", "if", etc). Se debe evitar el uso denombres que R ya tiene guardados en bases de datos (swiss), funciones(mean), entre otros.

    Otras consideraciones:

    Las asignaciones se hacen con"

  • 1.4. Ayuda de RLa ayuda de R proporciona informacin de cada una de las funciones de las

    que dispone. Cada librera tambin engloba un conjunto de funciones que tienensu respectiva ayuda.

    help(lm)

    Esta funcin help(funcin) le permitir observar una pantalla que contiene losdetalles de la funcin que desee. Si trabaja en RStudio, esta ayuda se despliegaen la parte inferior derecha.

    Otra forma de acceder a la ayuda es:

    ?lm

    Es decir, ?funcin. Esto producir el mismo efecto que help(funcin).

    A travs de un conocimiento medio de Ingls, el usuario puede enterarse dela estructura de la funcin as como de las opciones disponibles en la misma. Engeneral las funciones reportan la siguiente informacin6:

    Description: descripcin breve.

    Usage: para una funcin, proporciona el nombre de la misma con todos susargumentos y los posibles valores por defecto (opciones); para un operadordescribe su uso tpico.

    Arguments: para una funcin, describe en detalle cada uno de sus argumentos.

    Details: descripcin detallada.

    Value: si se aplica, el tipo de objeto retornado por la funcin o el operador.

    See Also: otras pginas de ayuda con funciones u operadores similares.

    Examples: algunos ejemplos que generalmente pueden ser ejecutados sin abrirla ayuda con la funcin examples().

    En general, R proporciona una ayuda extensa de las funciones que contiene.Es importante que se tome con mayor atencin los elementos Arguments yExamples de la ayuda. Existen foros en internet que proporcionan ayudas unpoco ms especficas para alguna rutina que presente algn tipo de problema.Por ejemplo: http://stackoverflow.com/questions/tagged/r.

    6Tomado de R para principiantes, Emmanuel Paradis

    10

  • 2. Operaciones con ObjetosEn general, R funciona como una calculadora normal. Por ejemplo, si usted

    digita en la consola:

    6+2*3

    Obtendr como resultado:

    12

    Advierta que en este caso no se ha asignado este resultado a ningn objeto, esdecir que lo que se ha digitado en el ejemplo anterior no es un objeto. Si sedesea guarda el resultado de la operacin en un objeto se debe escribir:

    x x[1] 12

    De esta manera puede disponer del valor del objeto (en este caso 12 para elobjeto x) cuando lo requiera. Por ejemplo:

    x mayor que x & Y Y lgico* multiplicacin = mayor o igual x | y O lgico^ potencia == igual x || y O lgico

    %% mdulo != diferente de xor(x, y) O exclusivo%/% divisin de enteros

    Cuadro 1: Operadores lgicos

    11

  • Antes de continuar con el manejo de las operaciones con objetos, es impor-tante sealar la creacin de secuencias en R.

    2.1.1. Creacin de secuencias

    Una secuencia de nmeros, por ejemplo del 1 al 20 se realiza:

    x

  • Funcin Descripcinsum(x) suma de los elementos de xprod(x) producto de los elementos de xmax(x) valor mximo en el objeto xmin(x) valor mnimo en el objeto xwhich.max(x) devuelve el ndice del elemento mximo de xwhich.min(x) devuelve el ndice del elemento mnimo de xlength(x) nmero de elementos en xround(x, n) redondea los elementos de x a n cifras decimalessort(x) ordena los elementos de x en orden ascendente; para hacerlo en

    orden descendente: rev(sort(x))which(x == a) Devuelve un vector de los ndices de x si la operaciones (TRUE

    (en este ejemplo, los valores de i para los cuales x[i]==a).Elargumento de esta funcin debe ser una variable de tipo lgico

    Cuadro 2: Funiciones bsicas para el manejo de objetos

    which.max(x)[1] 2

    Reporta la posicin en la que se encuentra el mximo valor en el objeto x.

    Ahora veamos algunas operaciones bsicas con matrices. En este contexto esapropiado ver un par de funciones que nos permiten agrupar nmeros en formade matriz. Estos comandos son cbind y rbind.

    Veamos su uso en el siguiente ejemplo:

    m1 cbind(m1,m2)[,1] [,2] [,3] [,4]

    [1,] 1 1 2 2[2,] 1 1 2 2

    13

  • Como el usuario habr notado, rbind agrupa las matrices o vectores en filasmientras que cbind los agrupa en columnas.

    Para multiplicar matrices se usa el operador%*%:

    > m1 %* %m2[,1] [,2]

    [1,] 4 4[2,] 4 4

    Otras operaciones importantes en matrices son t y solve. Estas funciones ob-tienen la transpuesta de la matriz y sy inversa respectivamente.

    2.2. BlucesUna ventaja de R comparado con otros programas estadsticos con mens

    y botones es la posibilidad de programar de una manera muy sencilla una seriede anlisis que se puedan ejecutar de manera sucesiva.

    Por ejemplo, definamos un vector con 50.000 componentes y calculemos elcuadrado de cada componente primero usando las propiedades de R de realizarclculos componente a componente y luego usando un ciclo.

    Normal:

    x

  • Los bucles pueden manejar ejemplos numricos y no numricos.Numricos (ivalores):

    > for (i in c(3,2,9,6)) {print (i^2)}[1] 9[1] 4[1] 81[1] 36

    No numricos:

    > medios.transporte for (vehiculo in medios.transporte)+ {print (vehiculo)}[1] "carro"[1] "camion"[1] "metro"[1] "moto"

    Sin duda el uso de bucles en la elaboracin de una rutina en particular puedellegar a parecer una tarea bastante extensa, pero siempre guarda la estructuraaqu mencionada.

    3. Funciones grficasResultara un curso exclusivo de graficacin en R para poder dar a conocer

    todas las posibilidades de R en este campo. Para ilustrar algunas de las opcionesque se pueden lograr con el uso de R digite demo(graphics) en la consola.

    En general no se puede asignar una grfica a un objeto. Las grficas son asig-nadas a dispositivos grficos o ventanas donde se presenta el grfico ejecutado.

    Existen dos tipos de funciones grficas: de alto nivel y de bajo nivel.

    3.1. Grficas de alto nivelEstas grficas son generadas por comandos directos. Esto significa que el

    grfico que se desea es generado directamente con la funcin. Entre otras, lasiguiente tabla recoge las principales funciones para la generacin de grficas dealto nivel:

    Cada una de las funciones grficas expuestas en la tabla anterior tiene unabatera de opciones para personalizarlas. Sin embargo, los comandos grficos dealto nivel tienen ciertas opciones transversales, las principales son:

    Veamos algunas de las funciones grficas ms usadas:

    15

  • Funcin Descripcinplot(x) graficar los valores de x (en el eje y) ordenados en el eje xplot(x,y) grfico bivariado de x (en el eje x) y y (en el eje y)pie(x) grfico circular tipo pieboxplot(x) Grfico de caja y bigoteshist(x) histograma de las frecuencias de xbarplot(x) histograma de los valores de x

    Cuadro 3: Funciones grficas de alto nivel

    Opcin Descripcinadd=FALSE si es TRUE superpone el grfico en el ya existente (si existe)axes=TRUE si es FALSE no dibuja los ejes ni la caja del grficotype="p" especifica el tipo de grfico; "p": puntos, "l": lneas, "h": lneas

    verticales, "s": escaleras, los datos se representan como la partesuperior de las lneas verticales, entre otros

    xlim=, ylim= especifica los lmites inferiores y superiores de los ejes; porejemplo con xlim=c(1, 10) o xlim=range(x)

    main= Ttulo principal; debe ser de tipo caractersub= sub-ttulo (escrito en una letra ms pequea)

    Cuadro 4: Principales opciones grficas

    3.1.1. Plot

    Digite:

    x

  • Figura 4: Plot con una variable

    El grfico presenta en el eje de las x una escala ascendente por defult de R.empieza en 1 termina en 11. El eje y recoge la informacin del objeto graficado

    Usando dos variables:

    x

  • Figura 5: Plot con dos variables

    La figura toma pares ordenados, es decir que el eje x responde a los valoresdel objeto x mientras que el eje y responde a los valores del eje y.

    3.1.2. Boxplot

    Tambin conocido como grfico de caja y bigotes, refleja grficamente elresumen de estadsticas principales (Min,Q1,Mediana,Q3,Max, Outlayers).

    Para ejemplificar este comando grfico, abramos la base de datos Mun-do.csv y ejecutar los siguientes comandos7:

    boxplot(PNB_PC)boxplot(log(PNB_PC))

    De esta manera se tienen los siguientes grficos:7Recuerde usar el comando attach(datos) despus de haber importado la base de datos

    para poder usar las etiquetas de la base libremente

    18

  • Figura 6: Boxplot del Producto Nacional Bruto per cpita

    Si al aplicar el boxplot sobre una variable se tiene un resultado como muestraDirecto, se debe usar el logaritmo para una mejor lectura de la variable.

    Para obtener un boxplot de varias categoras (en nuestro ejemplo continen-tes) se tiene que crear un objeto como factor que recoja las etiquetas de lascategoras y luego se grafica el boxplot:

    fregion = factor(REGION,labels=c("Africa","America","Asia","Europa","Oceania"))boxplot(log(PNB_PC)~fregion, col=rainbow(5),main="Varios Boxplot a la vez con etiquetas")

    19

  • Figura 7: Boxplot de varias categoras

    Note que se ha usado en este ltimo grfico ciertas opciones como main ycol. Estas opciones pueden ser usadas y ejecutadas por el usuario en grficosanteriores si dificultad.

    3.1.3. Pie

    Recuerde que un grfico de pie tiene sentido nicamente si se trata de unavariables con categoras de suma 1.

    z.pie

  • Figura 8: Grfico de PIE

    3.2. Grficas de bajo nivelEstas funciones sirven para agregar detalles al grfico principal (generado

    por funciones grficas de alto nivel).

    Funcin Descripcinpoints(x, y) Agrega puntoslines(x,y) Mismo que points pero con lneassegments(x0, y0, x1, y1) dibuja una lnea desde el punto (x0,y0) hasta el punto (x1,y1)abline(a,b) dibuja una lnea con pendiente b e intercepto a

    Cuadro 5: Funciones grficas de bajo nivel

    Una de las funciones grficas importantes es el comando curve. Esta opcinpermite graficar una funcin en un determinado rango:

    curve(x^3-3*x,-2,2)abline(h=0)

    21

  • Figura 9: Grfico de la funcin x3 3x en el intervalo: 2 x 2

    Note que en est ejemplo se ha hecho uso de una funcin de bajo nivel (abline)que permite dibujar la lnea roja.

    4. Funciones estadsticasUna forma rpida de obtener un resumen estadstico de una variable continua

    es la siguiente8:

    > summary(PNB_PC)Min. 1st Qu. Median Mean 3rd Qu. Max. NAs126 354 995 3635 4700 21330 7

    Una funcin como summary se le conoce como una funcin genrica. Estetipo de funciones reportan una salida diferente en segn el objeto al que sele aplique. Vemos que usando un vector de datos continuos reporta el valormnimo, primer cuartil, mediana, media, tercer cuartil, valor mximo y nmerode valores perdidos (missing values).

    Para obtener valores individuales de los estadsticos bsicos se aplican lassiguientes funciones: mean, var, sd y corr. A continuacin veamos ejemplos decada una usando la misma variable anterior para verificar los datos.

    Media8Use la base de datos Mundo.csv. No olvide usar attach para usar los nombres de las

    variables libremente

    22

  • > x x[1] 3635.309

    note que se ha usado la opcin na.rm. Esta opcin indica que no se tome encuenta los valores perdidos en el clculo del estadstico solicitado. Si no se usaesta opcin, el valor reportado sera NA.

    Varianza

    > x x[1] 26768678

    Desviacin Estndar

    > x x[1] 5173.846

    Correlacin:

    > x x[1] 0.5596316

    Note que en el caso de la correlacin, dado que se tiene valores perdidos en lasvariables, se debe usar la opcin: use="complete.obs" para obtener un resultado.Recordemos un par de detalles de la correlacin:

    La correlacin esta siempre entre -1 y 1. Lo primero que se interpreta esel signo

    Directamente proporcional si es positivo, si es negativo pasa lo contrario

    Se interpreta es la fuerza de la relacin. Si esta ms cerca de 1, significaque si aumenta una variable, la otra tambin.

    Nmeros intermedios, reducen la fuerza de la relacin.

    Se puede realizar un anlisis grfico til a partir de variables normalizadas endos dimensiones. Abra la base de datos tabla2_8.csv9 para realizar este anlisis.Normalicemos las variables10 TOTALEXP y FOODEXP y realicemos un grficode las variables originales as como las variables normalizadas.

    9gasto en comida y gasto total (en rupias) para una muestra de 55 familias rurales de India

    10Xnorm =

    XX

    x

    23

  • totnorm
  • Analicemos los siguientes datos11:

    data(InsectSprays)

    Realizamos una tabla de frecuencias de los datos:

    > table(InsectSprays$spray)A B C D E F12 12 12 12 12 12

    Note que el signo $ sirve para describir la variable a la que nos referimos dentrode la base de datos que estamos usando. Una forma de analizar si hay diferenciaen las medias los grupos es realizar un boxplot por cada tipo de spray:

    Figura 11: Boxplot por tipo de spray

    Se puede apreciar que es probable que exista diferencia en las medias entrevarios grupos. Por ejemplo, es probable que exista diferencia en las medias entreel tipo A con el tipo C. Es este punto usemos el anlisis ANOVA para evidenciaresta diferencia:

    > aov.spray1 summary(aov.spray1)

    Df Sum Sq Mean Sq F value Pr(>F)spray 5 88.44 17.688 44.8

  • En el anlisis ANOVA se tienen las siguientes hiptesis:

    Ho : u1 = u2 = . . . = un

    Ha : almenos una es diferente

    Es decir que dado que nuestro p valor del estadstico F es menor a 0.05 essignificativo al 95% de confianza y se puede rechazar la hiptesis nula. De modoque si hay diferencias significativas en el tipo de insecticidas. Finalmente, paraevidenciar la diferencia dentro del grupo de usa el anlisis Tukey:

    > TukeyHSD(aov.spray1,"spray")Tukey multiple comparisons of means95 % family-wise confidence level

    Fit: aov(formula = sqrt(count) ~ spray, data = InsectSprays)$spray

    diff lwr upr p adjB-A 0.1159530 -0.6369601 0.8688661 0.9975245C-A -2.5158217 -3.2687349 -1.7629086 0.0000000D-A -1.5963245 -2.3492377 -0.8434114 0.0000006E-A -1.9512174 -2.7041305 -1.1983042 0.0000000F-A 0.2579388 -0.4949744 1.0108519 0.9144964C-B -2.6317747 -3.3846879 -1.8788616 0.0000000D-B -1.7122775 -2.4651907 -0.9593644 0.0000001E-B -2.0671704 -2.8200835 -1.3142572 0.0000000F-B 0.1419858 -0.6109274 0.8948989 0.9935788D-C 0.9194972 0.1665841 1.6724103 0.0080813E-C 0.5646043 -0.1883088 1.3175175 0.2512638F-C 2.7737605 2.0208474 3.5266736 0.0000000E-D -0.3548928 -1.1078060 0.3980203 0.7366389F-D 1.8542633 1.1013502 2.6071764 0.0000000F-E 2.2091561 1.4562430 2.9620693 0.0000000

    De esta manera se puede ver si existe diferencia significativa dentro de las cate-goras del grupo con la misma regla usada en el anlisis ANOVA. Por ejemplo,no existe diferencia significativa entre los tratamientos A y B pero si existediferencia entre el A y el C.

    6. Estadstica Descriptiva, bases de datos con fac-tor de expansin

    Uno de los usos ms frecuentes de la obtencin de estadsticas descriptivases cuando nos enfrentamos al uso de bases de datos con factores de expansin.El paquete que nos ayuda a manejar este problema es Hmisc.

    26

  • install.packages(Hmisc)library(Hmisc)

    Recuerde que un paquete debe ser instalado solamente una vez, pero se debellamar a la librera (library) cada vez que se lo use. La siguiente tabla recogealgunas funciones bsicas del paquete:

    Funcin Descripcinwtd.mean Calcula la media pesadawtd.var Calcula la varianza pesadawtd.quantile Obtiene los cuantiles pesadoswtd.table Obtiene las frecuencias pesadas

    Cuadro 6: Funciones de estadsticos bsicos de Hmisc

    Veamos un ejemplo. Abra la base de datos de personas de diciembre de 2012ENEMDU. Ejecute:

    datos=read.dta("per12_2010.dta",convert.factors=TRUE)> table(p02)p02hombre mujer41208 41566> wtd.table(p02,weights=fexp)$x[1] "hombre" "mujer"$sum.of.weightshombre mujer7056148 7223538

    Se puede apreciar a diferencia en los valores que incluyen los pesos de las varia-bles.

    6.1. Estadsticas descriptivas mediante el diseo muestralde la encuesta.

    La ENEMDU es una muestra probabilstica trietpica. Cuenta con un di-seo muestral que permite realizar clculo de errores estndar ms robustos almomento de calcular indicadores por ejemplo.

    En R, el paquete que nos permite trabajar con encuestas que tienen diseomuestral es el paquete Survey. En primer lugar, se debe correr el diseo mues-tral de la encuesta12. Se recomienda tener el cdigo del diseo muestral en unarchivo a parte dado que no cambia y se hace uso del mismo segn se necesite.

    Veamos:12El cdigo del diseo muestral lo tiene en los documentos de respaldo o tambin puede

    copiarlo de los anexos del presente documento

    27

  • source("dise_muestral_dic2010 (original).R")disem
  • "Cotopaxi","Chimborazo","El Oro","Esmeraldas","Guayas","Imbabura","Loja","Los R??os","Manab??","Pichincha","Tungurahua","Santo Domingo","Santa Elena","Amazon??a","Zonas no Demiliatadas")

    ### Dominios ###area1

  • dominio[which(provincia1==10 & area==2)]=28dominio[which(provincia1==11 & area==2)]=29dominio[which(provincia1==12 & area==2)]=30dominio[which(provincia1==13 & area==2)]=31dominio[which(provincia1==17 & area==2)]=32dominio[which(provincia1==18 & area==2)]=33dominio[which(provincia1==23 & area==2)]=34dominio[which(provincia1==24 & area==2)]=35dominio[which(provincia1==89 & area==2)]=36dominio[which(provincia1==90 )]=37dominio1
  • "Santo Domingo rural","Santa Elena rural","Amazon??a rural","N/D")

    31