AED con R y Minitab

162
ANÁLISIS EXPLORATORIO DE DATOS CON R Y MINITAB Paloma Maín Yaque 1 Departamento de Estadística e I.O. Facultad de Ciencias Matemáticas Universidad Complutense de Madrid 1 ISBN: 978-84-692-6255-9

Transcript of AED con R y Minitab

  • ANLISIS EXPLORATORIO DE DATOSCON R Y MINITAB

    Paloma Man Yaque1

    Departamento de Estadstica e I.O.Facultad de Ciencias MatemticasUniversidad Complutense de Madrid

    1ISBN: 978-84-692-6255-9

  • 2

  • ndice general

    I Herramientas computacionales 9

    1. INTRODUCCIN A R 111.1. Primeros pasos . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    1.1.1. Zona de trabajo (Workspace) . . . . . . . . . . . . . . . 111.1.2. Ayudas . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.1.3. Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.1.4. Paquetes R . . . . . . . . . . . . . . . . . . . . . . . . . 141.1.5. Lenguaje R . . . . . . . . . . . . . . . . . . . . . . . . . 15

    1.2. Vectores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.2.1. Vectores numricos . . . . . . . . . . . . . . . . . . . . . 181.2.2. Operaciones aritmticas . . . . . . . . . . . . . . . . . . 191.2.3. Vectores lgicos . . . . . . . . . . . . . . . . . . . . . . . 211.2.4. Valores ausentes (missing values) . . . . . . . . . . . . 21

    1.3. Matrices y arrays . . . . . . . . . . . . . . . . . . . . . . . . . . 221.3.1. Operaciones con matrices . . . . . . . . . . . . . . . . . 24

    1.4. Bases de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281.4.1. Listas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281.4.2. Data frames . . . . . . . . . . . . . . . . . . . . . . . . . 29

    1.5. Distribuciones de probabilidad . . . . . . . . . . . . . . . . . . . 321.6. Programacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    1.6.1. Estructuras de control . . . . . . . . . . . . . . . . . . . 341.6.2. Funciones . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    2. INTRODUCCIN A MINITAB 372.1. Ventanas Iniciales . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    2.1.1. Ventana de la sesin (Session Window) . . . . . . . . . . 382.1.2. Ventana de datos (Worksheet) . . . . . . . . . . . . . . . 382.1.3. Ventana de Informacin General del Proyecto (Project

    Manager) . . . . . . . . . . . . . . . . . . . . . . . . . . 402.1.4. Ventana de Grficos (Graphs) . . . . . . . . . . . . . . . 41

    2.2. Procedimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    3. PRCTICAS 453.1. Importar bases de datos . . . . . . . . . . . . . . . . . . . . . . 453.2. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    NDICE GENERAL 3

  • II Anlisis de datos 49

    4. INTRODUCCIN 514.1. Historia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.2. Cuestiones Generales . . . . . . . . . . . . . . . . . . . . . . . . 51

    5. DESCRIPCIN DE DATOS UNIVARIANTES 535.1. Mtodos cuantitativos . . . . . . . . . . . . . . . . . . . . . . . 53

    5.1.1. Medidas de tendencia central . . . . . . . . . . . . . . . 535.1.2. Medidas de posicin . . . . . . . . . . . . . . . . . . . . 535.1.3. Medidas de dispersin . . . . . . . . . . . . . . . . . . . 545.1.4. Medidas de asimetra y curtosis . . . . . . . . . . . . . . 555.1.5. Datos 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 575.1.6. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . 60

    5.2. Mtodos grficos . . . . . . . . . . . . . . . . . . . . . . . . . . 655.2.1. Variables cualitativas . . . . . . . . . . . . . . . . . . . . 655.2.2. Variables cuantitativas . . . . . . . . . . . . . . . . . . . 655.2.3. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . 665.2.4. Manipulacin de grficos con R. . . . . . . . . . . . . . 79

    6. DESCRIPCIN DE DATOS MULTIVARIANTES 836.1. Mtodos cuantitativos . . . . . . . . . . . . . . . . . . . . . . . 83

    6.1.1. Matriz de datos . . . . . . . . . . . . . . . . . . . . . . . 836.1.2. Poblacin (Modelo) . . . . . . . . . . . . . . . . . . . . . 836.1.3. Estadsticos . . . . . . . . . . . . . . . . . . . . . . . . . 846.1.4. Combinaciones lineales de variables . . . . . . . . . . . . 866.1.5. Medidas de variabilidad alrededor de X . . . . . . . . . . 876.1.6. Coeficientes de asimetra y curtosis multivariantes . . . . 876.1.7. Manipulacin de matrices con MINITAB . . . . . . . . . 886.1.8. Ejercicios con R . . . . . . . . . . . . . . . . . . . . . . . 916.1.9. Estudio de la variabilidad . . . . . . . . . . . . . . . . . 976.1.10. Comparacin de asimetra y curtosis . . . . . . . . . . . 100

    6.2. Mtodos grficos . . . . . . . . . . . . . . . . . . . . . . . . . . 1016.2.1. Grficos para dos variables . . . . . . . . . . . . . . . . . 1016.2.2. Grficos para tres variables . . . . . . . . . . . . . . . . 1016.2.3. Operaciones con los grficos anteriores . . . . . . . . . . 1026.2.4. Perfiles Multivariantes . . . . . . . . . . . . . . . . . . . 1026.2.5. Grficos condicionados (Coplots) . . . . . . . . . . . . . 1026.2.6. Ejercicios con MINITAB . . . . . . . . . . . . . . . . . . 1036.2.7. Ejercicios con R . . . . . . . . . . . . . . . . . . . . . . . 106

    6.3. Dependencia entre pares de variables cuantitativas . . . . . . . . 1116.3.1. Mtodos grficos . . . . . . . . . . . . . . . . . . . . . . 1116.3.2. Medidas cuantitativas . . . . . . . . . . . . . . . . . . . 1126.3.3. Regresin lineal simple . . . . . . . . . . . . . . . . . . . 1136.3.4. Regresin con R . . . . . . . . . . . . . . . . . . . . . . . 116

    4 NDICE GENERAL

  • 6.3.5. Regresin con MINITAB . . . . . . . . . . . . . . . . . . 1196.3.6. Ejemplo 3 . . . . . . . . . . . . . . . . . . . . . . . . . . 1206.3.7. Ejemplo 4 . . . . . . . . . . . . . . . . . . . . . . . . . . 1236.3.8. Ejemplo 5 . . . . . . . . . . . . . . . . . . . . . . . . . . 1256.3.9. Regresin no paramtrica . . . . . . . . . . . . . . . . . 128

    6.4. Dependencia entre pares de variables cualitativas . . . . . . . . 1336.4.1. Contraste de dependencia . . . . . . . . . . . . . . . . . 1346.4.2. Paradoja de Simpson . . . . . . . . . . . . . . . . . . . . 134

    7. ESTUDIO DE LA HIPTESIS DE NORMALIDAD 1377.1. Normalidad univariante . . . . . . . . . . . . . . . . . . . . . . . 137

    7.1.1. Grficos de probabilidad (QQ-plots) . . . . . . . . . . . . 1377.1.2. Contrastes de bondad de ajuste . . . . . . . . . . . . . . 141

    7.2. Normalidad Bivariante . . . . . . . . . . . . . . . . . . . . . . . 1447.2.1. Procedimientos . . . . . . . . . . . . . . . . . . . . . . . 144

    8. TRANSFORMACIN DE VARIABLES 1478.1. Transformaciones lineales . . . . . . . . . . . . . . . . . . . . . . 147

    8.1.1. Datos univariantes . . . . . . . . . . . . . . . . . . . . . 1478.1.2. Datos bivariantes . . . . . . . . . . . . . . . . . . . . . . 147

    8.2. Tranformaciones hacia la normalidad . . . . . . . . . . . . . . . 1488.2.1. Logit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1488.2.2. Probit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1488.2.3. Box-Cox . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

    9. DATOS ATPICOS Y AUSENTES 1539.1. Tratamiento de datos atpicos . . . . . . . . . . . . . . . . . . . 153

    9.1.1. Mtodos de deteccin . . . . . . . . . . . . . . . . . . . . 1559.1.2. Procedimientos de acomodacin . . . . . . . . . . . . . . 156

    9.2. Tratamiento de datos ausentes . . . . . . . . . . . . . . . . . . . 158

    NDICE GENERAL 5

  • 6 NDICE GENERAL

  • PREFACIO

    Este documento contiene el material recopilado durante varios cursos enlos que la profesora Paloma Man ha impartido la asignatura de Anlisis Ex-ploratorio de Datos de la Licenciatura en Ciencias Matemticas, en la Facultadde Matemticas de la Universidad Complutense de Madrid. En estos aos laasignatura ha ido evolucionando como lo est haciendo la prctica del anlisisde datos con la incorporacin de nuevas tcnicas que exigen el manejo de soft-ware estadstico para describir bases de datos de gran tamao. En esta lnea, loque realmente se pretende es la introduccin de una forma actual de entenderesta primera etapa del anlisis estadstico de datos. Efectivamente es un temaque ha tenido un enorme desarrollo y es difcil recoger todos los aspectos enuna asignatura cuatrimestral de tres horas semanales o en cursos bsicos, perode alguna manera hemos pretendido que los alumnos se encontrasen cmodosa la hora de describir y efectuar un primer anlisis de una base de datos rela-tivamente compleja as como de afrontar el estudio y aplicacin de las nuevastcnicas que se les puedan presentar.Por tanto se incluir un breve introduccin a las dos herramientas uti-

    lizadas MINITAB y R, que en nuestra opinin pueden ser representativos delsoftware estadstico en uso. Por un lado MINITAB como software comercial enun entorno Windows, con la utilizacin de persianas y R como software librecon la utilizacin de comandos estructurados en funciones. En la descripcinde los temas se utilizarn ambos para resolver los problemas correspondientesincluyndose las pantallas de ordenador con las soluciones.El esquema general del contenido puede resumirse en dos bloques iniciales

    que estudian las columnas de las bases de datos por separado, mediante las tc-nicas de anlisis univariante y las columnas en su conjunto mediante el anlisismultivariante. Para estos dos anlisis se utilizarn bsicamente dos tipos deprocedimientos: grficos y cuantitativos. Quiz sea en los mtodos grficos enlos que se ha experimentado el mximo avance motivado, en gran medida, porel gran aumento de la capacidad grfica en los ordenadores personales. De todasformas no se puede olvidar la descripcin y estudio de las medidas cuantitati-vas tan relevantes para los procesos posteriores de inferencia. En el apartadodedicado a la descripcin de datos multivariantes se tratar tambin una breveintroduccin a los mtodos de regresin para estudiar una forma de tratar lacuestin de la dependencia entre las columnas de una base de datos.Dado que en la aplicacin de las tcnicas anteriores es necesario efectu-

    ar ciertas hiptesis de normalidad en las observaciones, se incluirn ciertosprocedimientos que permiten evaluar si dichas hiptesis pueden considerarseaceptables sobre las observaciones o si se debe realizar algn tipo de transfor-macin sobre ellas y as poder aplicar las tcnicas descritas .En este punto y una vez estudiadas bases de datos correspondientes a prob-

    NDICE GENERAL 7

  • lemas reales se analizarn de forma particular ciertos tipos de datos que hansido descartados en un primer anlisis. Estos sern los datos atpicos, por estarclaramente alejados del bloque general de las observaciones y los datos ausentesal no aparecer ningn registro en las celdas correspondientes. Cabe sealar queno se pretender ms que hacer una breve introduccin, dada la gran amplitudque han alcanzado dichos temas componiendo sendas monografas.Para concluir, queremos dar un agradecido recuerdo a todos nuestros alum-

    nos de estos cursos pasados por su entusiasmo juvenil que ha sido el estmuloms importante para avanzar en nuestro trabajo. Con sus indicaciones se hanenmendado errores y perfilado ms claramente muchos conceptos y ejercicios.Espero que a los alumnos de los cursos futuros este trabajo les sirva paracompletar su formacin y les resulte agradable afrontar la materia que se lespropone.

    8 NDICE GENERAL

  • Parte I

    Herramientas computacionales

    9

  • 1. INTRODUCCIN A R

    ElR puede ser considerado una implementacin del lenguaje S, desarrolladoen Bell Laboratories y que forma la base del producto comercial SPLUS. Losprimeros pasos de R se deben a Robert Gentleman y Ross Ihaka del StatisticsDepartment de la University de Auckland, aunque las sucesivas versiones soncontroladas y desarrolladas por el R Development Core Team del que formanparte muchos colaboradores en todo el mundo. Realmente el objetivo actual-mente es la formacin de equipos de colaboradores dedicados a la utilizacin deR para distintas aplicaciones como el grupo de redes bayesianas gR, de visual-izacin de datos multivariantes ggobi. y muchos ms que aportan los diferentespaquetes que pueden cargarse gratuitamente desde la pgina origen de todoeste proyecto de software libre www.r-project.org.Hay una lista de correo para usuarios en espaol r-help-es, donde consultar

    y comentar incidencias en el uso de R.En resumen se podra considerar que los paquetes R proporcionan una

    forma de manejar conjuntos de funciones o datos y sus documentacin.

    1.1. Primeros pasos

    - R es un lenguaje y un entorno para efectuar clculos estadsticos y anli-sis grficos, de distribucin libre que puede cargarse en www.r-project.org. Aligual que la versin comercial S-Plus, est basado en el lenguaje S. Es completa-mente programable, siendo posible automatizar los procedimientos repetitivosmediante scripts del usuario, tambin es fcil escribir las funciones que senecesiten as como nuevos paquetes.

    1.1.1. Zona de trabajo (Workspace)

    - ElWorkspace enR contiene los datos y procedimientos de un determinadotrabajo o proyecto, as que despus de arrancar con el fichero RGui.exe, es con-veniente seleccionar un nuevo directorio de trabajo en la persiana File/ChangeDirectory, ya que por defecto se posiciona en el directorio en el que se ha insta-lado R, solapando los sucesivos trabajos. Al cerrar R se preguntar si se quiereSave workspace image, diciendo yes se crearn dos ficheros en el directoriode trabajo: .Rhistory con los comandos y sentencias generadas en la sesiny .RData con los objetos almacenados pero si se le quiere dar un nombre es

    INTRODUCCIN A R 11

  • preferible guardarlo con ese nombre antes de cerrar en la persiana File/SaveWorkspace y contestar no cuando aparece Save workspace image. La prxi-ma vez con doble-click sobre ese fichero .RData arrancarR en dicho espacio detrabajo cerrando con el procedimiento anterior. Se puede ver en que directoriose trabaja tecleando getwd().- Al arrancar R aparece la ventana de la RConsole de trabajo donde se

    irn introduciendo los sucesivos comandos que se pueden guardar en un fichero.Rhistory. Si se obtienen grficos aparecern en otra ventana RGraphics quepueden copiarse o guardarse en diferentes formatos as como imprimirse.- R trabaja con objetos, la mayora de los cuales son funciones. Tecleando

    objects() (o ls())se obtiene la lista de los que se tienen almacenados. Estosobjetos se guardan en el Workspace que es un fichero .RData, y que pordefecto se guarda en el directorio de trabajo en el que est instalado R.- En R, como en la mayora de los paquetes basados en UNIX, se consideran

    nombres diferentes los escritos con maysculas o minsculas, as A y a repre-sentarn distintos smbolos. En general se pueden utilizar todos los smbolosalfanumricos, aunque un nombre nunca podr comenzar por un nmero.- Los comandos en R pueden ser: expresiones como plot(x, y) que sern

    evaluadas impresas y su valor perdido, o asignaciones utilizando < o =como x < 27 que tambin sern evaluadas y su valor transmitido a unavariable, pero no automticamente impreso. Los comandos estarn separadospor ; o por una nueva lnea, pudiendo agrupar comandos elementales entre { y}. Si un comando no est completo, el R devolver el smbolo + hasta que secomplete.- Los comentarios en R se pueden poner casi en cualquier sitio, con tal de

    comenzar con # todo hasta el final de la lnea es un comentario.- Para cerrar la sesin de R se tiene que escribir q() apareciendo la pregunta

    de si guardar o no workspace. Si se contesta yes se guardar en .RData yR.History del directorio de trabajo.

    1.1.2. Ayudas

    R tiene una serie de documentos html (que arrancan con el navegador) paraayuda y manuales a los que se accede con help.start(). Si se conoce el nom-bre de la funcin, por ejemplo nombre se introduce help (nombre) y en unaventana aparte aparecer toda la informacin sobre su definicin y caracters-ticas. Si no se conoce el nombre exacto de la funcin es preferible preguntarhelp.search (nombre) y aparecern los ficheros de ayuda con algn elementoque sea nombre. Se puede utilizar tambin ?help o ?help.search para obtenerms informacin de estas ayudas. Para no tener que teclear lo mismo varias ve-ces, con las teclas de movimiento, o se obtienen las sentencias introducidascon anterioridad.Otra forma de obtener ayuda sobre nuestra funcin nombre es mediante

    12 INTRODUCCIN A R

  • ejemplos de ayuda tecleando example(nombre). Como prueba escrbase example (plot).En la mayora de las funciones que se describirn, se deber recurrir a help( )para obtener informacin completa de las mismas.

    1.1.3. Scripts

    Son ficheros que contienen listas de comandos segn se escriben en la con-sola, pudiendo incluir comentarios (lneas comenzando por #) que explicanlo que se pretende hacer. Son muy tiles para repetir en sucesivas ocasiones,ciertos procedimientos que hemos tecleado en un determinado momento y paraalmacenar los comandos utilizados en las diferentes sesionesEjemplo: Para crear y hacer funcionar un script que genere dos mues-

    tras de tamao 50 de una distribucin N (2, 3) calculando su coeficiente decorrelacin.

    1. Arrancar R

    2. En la persiana File seleccionar New Script, si se quiere utilizarun script almacenado seleccionar Open Script.

    3. Escribir en el script las siguientes lneas

    x < rnorm(50, 2, 3)

    y < rnorm(50, 2, 3)

    plot(x, y)

    print(cor.test (x, y))

    4. Seleccionar todas las lneas y presionar el botn derecho del ratny aparecer una ventana de dilogo en la que se selecciona Runline or selection, as se ejecutarn todas las sentencias del script.Si no se selecciona nada, se ejecuta la sentencia al final de la cualest colocado el cursor. Tambin se puede seleccionar un bloque desentencias que son las que se ejecutarn.

    5. Como salida aparecer en una ventana RGraphics, una nube depuntos correspondiendo a las 50 observaciones pedidas y en en laventana RConsole el valor del coeficiente de correlacin muestralas como el correspondiente p-valor del contraste y los extremos delintervalo de confianza a nivel 0,95.

    6 Para guardar y cerrar el script, cuando se est en la ventana delmismo abrir la persiana File y seleccionar Save guardndolo conla extensin .R y Close script para cerrarlo

    PRIMEROS PASOS 13

  • 1.1.4. Paquetes R

    Los paquetes proporcionan las facilidades para manejar conjuntos de fun-ciones o datos y la documentacin correspondiente. Son destacables los sigu-ientes aspectos:- Se cargan y descargan ocupando memoria slo cuando son utilizados.- Se instalan y actualizan fcilmente. Un nico comando, ejecutable dentro

    o fuera de R, coloca en su sitio las funciones datos y documentacin.- Se adapta a los usuarios o administradores pudiendo tener adems una o

    ms libreras privadas de paquetes.- Se pueden validar ya que R posee comandos para verificar que la doc-

    umentacin existe, para eliminar errores comunes y para comprobar que losejemplos funcionan realmente.

    Estructura de los paquetes R

    La estructura bsica suele contener- un fichero descriptivo del paquete, autor y condiciones de la licencia en

    formato texto- un fichero ndice con las lista de funciones y datos, que puede generarse

    automticamente- un subdirectorio man/ de ficheros de documentacin- un subdirectorio R/ de ficheros de cdigos R- un subdirectorio data/ de conjuntos de datos- un subdirectorio src/ de fuentes C, Fortran o C++de forma menos frecuente tambin contiene- tests/ para contrastes de validacin- exec/ para otros ejecutables, por ejemplo en Java- inst/ para otro material- un script de configuracin para comprobar otro software que se necesite

    o para manejar diferencias entre sistemas.

    Formatos de bases de datos

    El comando data() carga datos de los paquetes que se tienen cargados- Ficheros de texto rectangulares con separador coma o espacio en

    blanco- Cdigo fuente S producido por la funcin dump() de R o S Plus- Ficheros R binarios que produce la funcin save()

    El tipo de fichero se elige automticamente segn la extensin.

    Carga opcional de paquetes

    - En elHelpmen se pueden encontrar losManuales donde se describen lasfunciones que se cargan con los paquetes bsicos que se instalan al arrancar elR.

    14 INTRODUCCIN A R

  • Hay otros paquetes suplementarios que no son ms que grupos de funciones quese han escrito y hecho pblicas por los creadores a travs de la familia CRANde sitios en Internet (va http://cran.r-project.org). En el men Packages sepueden manejar estos otros paquetes, siendo algunos de los ms utilizados elmva y MASS. Tambin algunos se pueden cargar mediante library(mva) ylibrary(MASS) y con library() se pueden ver los paquetes disponibles paracargar directamente sin tener que acceder al sitio de R. Para saber cules setienen cargados hay que teclear search().Dentro del men Packages se tienen las opciones de instalacin o actual-

    izacin de nuevos paquetes ya sea directamente del sitio CRAN o desde unfichero .zip que tambin se puede obtener en ese mismo sitio. Una vez instaladoen nuestro directorio R podr ser cargado con Load Package para trabajar conl en nuestra sesin.Cabe sealar, aunque no sea de inters para la mayora de los usuarios, que

    es posible acceder a los cdigos fuente de los paquetes de R. No se distribuye deforma automtica sino que hay que ir al sitio CRAN y acceder a la opcin RSources para cargarla en nuestro sistema. A partir de ah se puede visualizar elcdigo de cualquier clculo por ejemplo cor.test del paquete statst (para saberen qu paquete se encuentra hay que teclear ?cor.test y aparece en la primeralnea de la ventana de Help), dentro del directorio R donde se guard el cdigofuente, mediante el camino src\library\stats\R\cor.test.R.

    1.1.5. Lenguaje R

    Como se dijo al principio es un dialecto del lenguaje S, con una estructuracomn a muchos lenguajes tipo C, pero con unas caractersticas especiales quelo hacen especialmente verstil para el manejo de elementos estadsticos en con-creto para operaciones con matrices y vectores. Fue diseado en los 80 y desdeentonces ha tenido un enorme desarrollo dentro de la comunidad estadstica porsus posibilidades para la modelizacin estadstica y la visualizacin mediantegrficos. Los comandos elementales en R consisten en expresiones de clculoy asignaciones que pueden separarse por punto y coma ; o por lnea nueva yagruparse en una expresin compuesta mediante llaves { }. Si un comando seescribe incompleto por error, R suele devolver + hasta que se completa.Ejemplo: Falta el parntesis final> (media.x < mean(x)+++)[1]2,206341Como se vio al utilizar los scripts, es posible utilizar comandos alma-

    cenados en un fichero externo mediante el procedimiento indicado en dichoapartado o mediante el comando source. Anlogamente es posible almacenar

    PRIMEROS PASOS 15

  • todas las salidas de R en un fichero externo, por ejemplo result1.lis medi-ante sink(ubicacin del fichero result1.lis), que se podr leer con cualquierprocesador de textos. Para ver las salidas en la consola de nuevo se teclear elcomando sink().

    Clculo

    Si se plantea un clculo en la lnea de comandos, R efectuar el mismo,apareciendo el resultado en la consola.Ejemplo: Para calcular exp(2) + 5> exp(2) + 5obtenindose[1]12,38906Los clculos se efectuarn en la forma habitual, pudiendo utilizar los parn-

    tesis para alterar el orden de los clculos.Ejemplo:> 7 5 4 + 3[1] 10o bien> (7 5) 4 + 3[1] 11Los espacios se pueden utilizar libremente sin alterar el significado de las

    operaciones.

    Asignacin

    Como se ha visto en el primer ejemplo, una forma de crear nuevos objetoses mediante el operador de asignacion < es decir los smbolos menor que ymenos, tecleados uno a continuacin del otro.Ejemplo: Para crear el objeto x como una muestra de tamao 50 de una

    distribucin N (2, 3)> x < rnorm(50, 2, 3)Si a continuacin se teclea> xse obtendr la descripcin explcita de las 50 observaciones generadas en

    ese momento[1] 1.9695542 2.0773641 3.9620694 -0.5074673 6.0494055 3.5239660[7] 4.0615103 -0.2137977 -3.0360154 7.9673968 0.5715117 -0.4865489[13] -0.7256490 -1.5236052 2.9982977 4.6363986 1.3246436 -0.1932609[19] 0.4410943 10.4654333 1.2003788 3.0297676 -3.1974437 1.4925627[25] 4.3648033 3.7473657 1.5032604 6.9660583 1.9510645 7.4039741[31] 4.3971533 0.9633926 6.8757369 3.7359458 -1.3833869 1.2585773[37] 1.7376304 -2.5316654 6.1148239 3.0794651 4.5315920 0.7024664[43] 1.5024827 -1.5534974 -0.7111865 3.2873565 0.4772716 0.9519583[49] 6.1283580 -1.0715138

    16 INTRODUCCIN A R

  • y siempre que se utilice x en cualquier expresin, se estar considerandotoda la muestra, as por ejemplo

    > media.x < mean(x)permite calcular la media aritmtica de las 50 observaciones y guardarla

    como objeto media.x> media.x[1] 2,206341Para conseguir que se cree el objeto y se visualice se debe escribir entre

    parntesis> (media.x < mean(x))[1] 2,206341Para borrar objetos de la zona de trabajo se utilizar el comando rm(.)Ejemplo: Para borrar media.x> rm(media.x)Si se teclea> objects( )se observar la desaparicin de media.x.Dado que en la denominacin de algunos objetos es frecuente la utilizacin

    de valores como x, y, . . ., es recomendable abrir directorios de trabajo distin-tos al efectuar diferentes tareas en R porque las sucesivas creaciones de estosobjetos anularn los anteriores.Tipos de objetos: vectores (numricos, de caracteres, de ndices),matrices

    o ms generalmente arrays, factores, listas (vectores cuyos elementos notienen por qu ser del mismo tipo), data frames (generalizacin de las matricesya que puede haber columnas de diferente tipo, aunque en cada columna delmismo tipo), funciones. De un objeto se puede conocer, por ejemplo, su tipomode( ), su longitud length( ) y su estructura str( ).Ejemplo:> mode(x)[1]numeric> length(x)[1]50> mode(mean)[1]functionMediante la funcin attributes( ) se pueden obtener las caractersticas de

    un objeto.Ejemplo: Los datos Nile son una serie temporal del flujo del ro Nilo.> NileT imeSeries :Start = 1871End = 1970Frequency = 1[1] 1120 1160 963 1210 1160 1160 813 1230 1370 1140 995 935 1110 994

    1020

    PRIMEROS PASOS 17

  • [16] 960 1180 799 958 1140 1100 1210 1150 1250 1260 1220 1030 1100 774840

    [31] 874 694 940 833 701 916 692 1020 1050 969 831 726 456 824 702

    [46] 1120 1100 832 764 821 768 845 864 862 698 845 744 796 1040 759

    [61] 781 865 845 944 984 897 822 1010 771 676 649 846 812 742 801

    [76] 1040 860 874 848 890 744 749 838 1050 918 986 797 923 975 815

    [91] 1020 906 901 1170 912 746 919 718 714 740

    > attributes(Nile)$tsp[1]1871 1970 1

    $class[1]tsSe puede comparar con la funcin str( )> str(Nile)TimeSeries[1 : 100]from1871to1970 : 1120 1160 963 1210 1160 1160 813

    1230 1370 1140...Con attr(objeto, nombre) se puede seleccionar un atributo especfico.Ejemplo: Para crear una matriz 22 de unos> num < c(1, 1, 1, 1)> num[1]1 1 1 1

    > attr(num,dim) < c(2, 2)> num[, 1][, 2][1, ]1 1[2, ]1 1

    1.2. Vectores

    Uno de las facilidades de R es la manipulacin de bases de datos. Dentro deestas estructuras el elemento ms simple es la coleccin ordenada de nmeros,el vector numrico, al que se dedicar este captulo.

    1.2.1. Vectores numricos

    Para crear vectores se suele utilizar la funcin c(.), introduciendo los valoresnumricos que definen el vector.

    18 INTRODUCCIN A R

  • Ejemplo: Para crear el vector v =

    12345

    > v < c(1, 2, 3, 4, 5)> v[1] 1 2 3 4 5

    Tambin se puede utilizar la funcin assign(.).Ejemplo:> assign(v, c(1, 2, 3, 4, 5))> v[1] 1 2 3 4 5.

    Una vez que el vector v existe como objeto, puede utilizarse para construirotros vectores y para efectuar operaciones sobre todos sus elementos.Ejemplo:> exp(v)[1]2,718282 7,389056 20,085537 54,598150 148,413159> w < c(2 v, 0, 0, v)> w[1] 2 4 6 8 1 0 0 0 1 2 3 4 5

    1.2.2. Operaciones aritmticas

    Como se ha visto anteriormente, las operaciones con vectores se efectanelemento a elemento. Si alguno de los vectores es ms corto, se alarga hastaconseguir la longitud del vector ms largo.Ejemplo:> d < c(1, 2, 3)> d[1] 1 2 3> e < c(d, 0, 0, 0, 2 d)> e[1] 1 2 3 0 0 0 2 4 6> w < d+ e> w[1] 2 4 6 1 2 3 3 6 9Si en lugar del vector anterior, e, introducimos el siguiente, de longitud

    menor,> e < c(d, 0, 0, 2 d)> e[1]1 2 3 0 0 2 4 6

    VECTORES 19

  • aparecer el siguiente mensaje> w < d+ eWarning message :longer object lengthis not a multiple of shorter object length in : d+ e.Las operaciones bsicas se realizarn con los smbolos habituales: +,, , /,

    y para elevar a una potencia. Tambin se pueden utilizar las funciones:log, exp, sin, cos, tan, sqrt,max,min, as como diff(range()), length, sum, prodque calculan la diferencia entre el valor max y min, el nmero de elementos,su suma y su producto, respectivamente.Ejemplo:> w[1] 2 4 6 1 2 3 3 6 9> range(w)[1]19> diff(range(w))[1]8> sum(w)[1]36> prod(w)[1] 46656> w2[1] 4 16 36 1 4 9 9 36 81

    Tambin se pueden efectuar las operaciones estadsticas ms frecuentes:mean y var, siendo

    var (x) = sum((xmean (x))2)/ (length (x) 1)

    es decir la varianza muestral si x es una muestra unidimensional. Para elcaso en el que x es una matriz de datos n p, el objeto var (x) pasar a ser lamatriz de covarianzas muestral de dimensin p p.Otra operacin interesante es la ordenacin de un vector mediante la funcin

    sort( ), si se quiere efectuar una permutacin se utilizar order( ) o sort.list().Hay ocasiones en las que se necesita construir vectores con una determinada

    sucesin de valores numricos, por ejemplo de 1 a 10; sto puede conseguirsemediante la operacin 1 : 10 asignando el resultado a un objeto, pero es msverstil utilizar la funcin seq ( ) porque admite varias posibilidades. Por otraparte est la funcin rep( ) para repetir un determinado objeto de diferentesformas.Ejemplo:> (f < seq(1, 10))[1] 1 2 3 4 5 6 7 8 9 10> (f < seq(2, length = 4))[1] 2 3 4 5

    20 INTRODUCCIN A R

  • > (f < seq(2, length = 4, by = 0,5))[1] 2,0 2,5 3,0 3,5> rep(1 : 3, 2)[1] 1 2 3 1 2 3> rep(1 : 3, 2, each = 2)[1] 1 1 2 2 3 3 1 1 2 2 3 3

    1.2.3. Vectores lgicos

    Son vectores generados por condiciones que pueden darse o no, por lo quesus elementos posibles son TRUE(cierto), FALSE(falso) yNA(no disponible).Es preferible no simplificar estos valores a T, F porque si se utilizan comoobjetos pueden ser alterados.Ejemplo:> f[1] 2,0 2,5 3,0 3,5> logi1 < f >= 3> (logi1 < f >= 3)[1] FALSE FALSE TRUE TRUELos operadores utilizados son los habituales,,=,==(igualdad

    exacta), ! =(desigualdad),&(interseccin de expresiones), |(AltGr-1, para launin) y !(negacin).

    1.2.4. Valores ausentes (missing values)

    Hay situaciones en las que un valor est no disponible porque es un resultadoimposible o se ha perdido, son los valores ausentes de estadstica y en estos casosaparece como valor NA. Cualquier operacin con ellos seguir siendo NA, nodisponible, sin embargo con la funcin is.na( ) se puede construir un nuevovector donde aparece TRUE si y slo si el elemento correspondiente es NA.Si el resultado imposible surge de un clculo, el smbolo que aparece es

    NaN(not a number), siendo otra categora de valores ausentes que se cambiatambin con is.na( ), pero si slo se quieren cambiar los de esta categora sedebe teclear is.nan( ).Ejemplo:> l[1] NA 0,7071068 0,0000000 NaN 1,0000000 0,7071068 0,0000000> is.na(l)[1] TRUE FALSE FALSE TRUE FALSE FALSE FALSE> is.nan(l)[1] FALSE FALSE FALSE TRUE FALSE FALSE FALSE

    VECTORES 21

  • 1.3. Matrices y arrays

    Se puede definir un array como una coleccin de observaciones con sub-ndices, siendo las matrices casos particulares, en concreto arrays bidimen-sionales ya que sus elementos constan de dos subndices. R es especialmenteadecuado para crear y manejar este tipo de objetos.Tienen como atributo la dimensin, que puede asignarse o describirse me-

    diante dim( ). As un vector numrico puede utilizarse como un array si sele asigna una dimensin.Ejemplo:> w[1] 2 4 6 8 10 0 0 1 2 3 4 5> dim(w) < c(2, 6)> w

    [, 1] [, 2] [, 3] [, 4] [, 5] [, 6][1, ] 2 6 10 0 2 4[2, ] 4 8 0 1 3 5> dim(w) < c(6, 2)> w[, 1] [, 2]

    [1, ] 2 0[2, ] 4 1[3, ] 6 2[4, ] 8 3[5, ] 10 4[6, ] 0 5> dim(w) < c(2, 3, 2)> w, , 1[, 1] [, 2] [, 3]

    [1, ] 2 6 10[2, ] 4 8 0, , 2[, 1] [, 2] [, 3]

    [1, ] 0 2 4[2, ] 1 3 5Como se puede observar en el ejemplo anterior, la forma de colocar los datos

    es rellenando por columnas los sucesivos bloques. A los elementos colocados encada posicin se les puede denominar con el nombre del array seguido de suposicin entre [ ] separando los subndices que describen dicha posicin entrecomas.Ejemplo: Si se considera la ltima descripcin del objeto w en el ejemplo

    anterior, para obtener la segunda fila de la segunda columna del primer bloque

    22 INTRODUCCIN A R

  • > w[2, 2, 1][1] 8

    Tambin se pueden extraer columnas, filas y en general cualquier subcon-junto describiendo sus posiciones entre [ ].Ejemplo: Con el w anterior se puede obtener la segunda columna del

    primer bloque> w[, 2, 1][1] 6 8

    y las segundas columnas de los dos bloques> w[, 2, ]

    [, 1] [, 2][1, ] 6 2[2, ] 8 3

    Otra forma de construir arrays a partir de vectores, es mediante la funcinarray( ), especificando el nombre del vector y la dimensin del nuevo objeto.Para construir matrices se utilizar la funcin matrix( ).Ejemplo: Teniendo en cuenta que x es x < rnorm(50, 2, 3) del primer

    ejercicio, se puede convertir en un array formado por dos bloques de cinco filasy cinco columnas

    > (arx < array(x, c(5, 5, 2))), , 1

    [,1] [,2] [,3] [,4] [,5][1,] -3.2106300 0.3877666 7.5592096 -0.3403993 1.2039125[2,] -0.7870847 8.7728136 1.0124324 2.7640037 -0.7761628[3,] 0.4241971 0.4688422 0.2401416 3.4419892 -1.9599388[4,] 0.2159416 1.0030262 -1.3389534 3.0205676 -4.2068276[5,] 4.1927219 -6.1559740 4.4434380 1.6881193 -1.1155851, , 2

    [,1] [,2] [,3] [,4] [,5][1,] -5.247075 2.850224 3.6138058 -0.04179251 1.423822[2,] 1.189775 -2.359040 6.5736714 0.67692024 1.260775[3,] 4.042855 -1.425400 -4.1827371 7.05517180 3.344217[4,] 3.106876 6.196905 -1.2356566 -2.54117124 1.363164[5,] 4.199660 -1.659834 0.2650083 0.97560422 4.381154

    Si el vector no tiene elementos suficientes para rellenar los huecos del array,con la funcin anterior se completa con los primeros valores del vector. Tambinse pueden efectuar distintas operaciones con los arrays como permutar, elproducto exterior...que se describirn a continuacin en el caso particular yclaramente ms frecuente de las matrices.

    MATRICES Y ARRAYS 23

  • 1.3.1. Operaciones con matrices

    Como se dijo anteriormente, una matriz es un array con dos subndices.Entre las funciones que describen y manejan una matriz estn nrow( ) y ncol()para obtener el nmero de filas y columnas respectivamente, mientras que t( )es la funcin que traspone la matriz. Otra funcin interesante es diag( ) quesi se aplica a una matriz devuelve el vector formado con los elementos de ladiagonal principal, si se aplica a un vector lo que se obtiene es una matrizdiagonal con los valores del vector y por ltimo sobre un escalar construye lamatriz identidad de la dimensin dada por el escalar.Ejemplo: Sea la matriz mat1 la obtenida con el primer bloque del array

    arx obtenido en el ejemplo anterior.> (mat1 < arx[, , 1])

    [,1] [,2] [,3] [,4] [,5][1,] -3.2106300 0.3877666 7.5592096 -0.3403993 1.2039125[2,] -0.7870847 8.7728136 1.0124324 2.7640037 -0.7761628[3,] 0.4241971 0.4688422 0.2401416 3.4419892 -1.9599388[4,] 0.2159416 1.0030262 -1.3389534 3.0205676 -4.2068276[5,] 4.1927219 -6.1559740 4.4434380 1.6881193 -1.1155851> ncol(mat1)[1] 5> nrow(mat1)[1] 5> (tmat1 < t(mat1))

    [,1] [,2] [,3] [,4] [,5][1,] -3.2106300 -0.7870847 0.4241971 0.2159416 4.192722[2,] 0.3877666 8.7728136 0.4688422 1.0030262 -6.155974[3,] 7.5592096 1.0124324 0.2401416 -1.3389534 4.443438[4,] -0.3403993 2.7640037 3.4419892 3.0205676 1.688119[5,] 1.2039125 -0.7761628 -1.9599388 -4.2068276 -1.115585> (dmat1 < diag(mat1))[1] -3.2106300 8.7728136 0.2401416 3.0205676 -1.1155851> diag(dmat1)

    [,1] [,2] [,3] [,4] [,5][1,] -3.21063 0.000000 0.0000000 0.000000 0.000000[2,] 0.00000 8.772814 0.0000000 0.000000 0.000000[3,] 0.00000 0.000000 0.2401416 0.000000 0.000000[4,] 0.00000 0.000000 0.0000000 3.020568 0.000000[5,] 0.00000 0.000000 0.0000000 0.000000 -1.115585> diag(5)[,1] [,2] [,3] [,4] [,5]

    [1,] 1 0 0 0 0[2,] 0 1 0 0 0[3,] 0 0 1 0 0

    24 INTRODUCCIN A R

  • [4,] 0 0 0 1 0[5,] 0 0 0 0 1

    Producto de matrices

    El operador para aplicar esta operacin entre matrices es %%, utilizndose para el producto elemento por elemento de matrices del mismo tamao. Noobstante la funcin crossprod(mat1,mat2) es equivalente a mat1% %mat2pero el proceso es ms rpido.Para obtener la inversa de una matriz cuadrada no singular se puede utilizar

    la solucin de una ecuacin lineal, por ejemplo de q = Q% %x, ya quex = Q1% %q, mediante la funcin solve(Q, q), pudiendo calcular dichamatriz inversa mediante solve(Q). Para obtener el determinante de Q se utilizadet(Q).Ejemplo: Se calcula la inversa de la matriz mat1 definida en ejemplos

    anteriores con el vector x1 de unos> x1 < rep(1, 5)> b1 < mat1% %x1> solve(mat1, b1)[, 1]

    [1, ]1[2, ]1[3, ]1[4, ]1[5, ]1> solve(mat1)

    [,1] [,2] [,3] [,4] [,5][1,] -0.12877872 0.15323841 -0.2164438 -0.01502533 0.19133400[2,] -0.02089566 0.13530681 -0.1513859 0.03348884 0.02299115[3,] 0.08597911 0.05810572 -0.1229635 0.04817971 0.08670692[4,] -0.01601109 -0.04914441 0.5782148 -0.24706520 -0.06726225[5,] -0.05045421 -0.01365353 0.4070992 -0.42322674 -0.06058936

    Autovalores y autovectores

    Aplicando la funcin eigen( ) a una matriz simtrica, se obtienen los cor-respondientes vector de autovalores y matriz de autovectores.

    Ejemplo: Se define la matriz mat2 =

    10 0 20 10 42 4 2

    y se determinan sus

    autovalores y autovectores> d1 < c(10, 0, 2, 0, 10, 4, 2, 4, 2)> (mat2 < matrix(d1, ncol = 3, nrow = 3))[,1] [,2] [,3][1,] 10 0 2

    MATRICES Y ARRAYS 25

  • [2,] 0 10 4[3,] 2 4 2> eigen(mat2)$values[1] 1.200000e+01 1.000000e+01 1.776357e-15$vectors

    [,1] [,2] [,3][1,] -0.4082483 8.944272e-01 0.1825742[2,] -0.8164966 -4.472136e-01 0.3651484[3,] -0.4082483 5.551115e-17 -0.9128709

    Si se utiliza eigen( )$values o bien eigen( )$vectors solamente aparecernlos autovalores o bien los autovectores que tambin pueden almacenarse comoobjetos.Otra funcin aplicable a matrices muy til es svd(Q) (singular value de-

    scomposition), mediante la que se obtienen las matrices U , D y V tales queQ = U % % D % % t(V ), donde las columnas de U y de V son ortogonalesy D es una matriz diagonal.Ejemplo:> d3 < c(1, 2, 5, 3, 7, 9, 2, 7, 1)> mat3 < matrix(d3, c(3, 3))> mat3[,1] [,2] [,3]

    [1,] 1 3 2[2,] 2 7 7[3,] 5 9 1> svd(mat3)$d[1] 14.0785096 4.9778584 0.1284231$u

    [,1] [,2] [,3][1,] -0.2628271 -0.1087879 -0.9586903[2,] -0.6746563 -0.6896073 0.2632121[3,] -0.6897541 0.7159658 0.1078531$v

    [,1] [,2] [,3][1,] -0.3594777 0.4202262 0.8331781[2,] -0.8323937 0.2591632 -0.4898522[3,] -0.4217778 -0.8696231 0.2566303

    Construccin de matrices particionadas

    Las funciones cbind( ) y rbind( ) permiten obtener una matriz a base deagregar matrices por columnas y filas respectivamente.Ejemplo.

    26 INTRODUCCIN A R

  • > cbind(mat3,mat3)[,1] [,2] [,3] [,4] [,5] [,6]

    [1,] 1 3 2 1 3 2[2,] 2 7 7 2 7 7[3,] 5 9 1 5 9 1> rbind(mat3,mat3)[,1] [,2] [,3][1,] 1 3 2[2,] 2 7 7[3,] 5 9 1[4,] 1 3 2[5,] 2 7 7[6,] 5 9 1

    Hay que sealar la diferencia con la funcin c( ) que encadena objetoseliminando su dimensin.Ejemplo:> c(mat3,mat3)[1] 1 2 5 3 7 9 2 7 1 1 2 5 3 7 9 2 7 1

    Tablas de contingencia

    A partir de la funcin table( ) se pueden obtener tablas de frecuencia aso-ciadas a factores de igual longitud. En el ejemplo siguiente se utiliza la funcinsample( ) que permite extraer muestras de un conjunto de observaciones y elcruce de dos factores para construir una tabla de doble entrada.Ejemplo:> table(c(mat3,mat3))1 2 3 5 7 94 4 2 2 4 2> (v4 < c(mat3,mat3))[1] 1 2 5 3 7 9 2 7 1 1 2 5 3 7 9 2 7 1> (mat4 < sample(v4, 18))[1] 1 1 7 1 2 7 5 3 7 9 2 3 1 9 5 2 7 2> table(v4,mat4)

    mat4v4 1 2 3 5 7 91 1 1 0 0 1 12 1 1 0 1 1 03 1 0 0 0 0 15 0 1 0 0 1 07 0 1 1 1 1 09 1 0 1 0 0 0

    Para describir un factor mediante la agrupacin en clases, se utilizan las fun-ciones factor( ) y cut( ) como se indica en el siguiente ejemplo que trabaja con

    MATRICES Y ARRAYS 27

  • las columnas 4a y 5a de los datos airquality y que representan Temperatura,153 valores entre 56 y 97 y Meses, incluyendo solamente del 5 al 9. Si se hu-biera descrito Tempf solo con cut( ) y las 11 clases que se han pedido de formaaproximada en lugar de las 9 que efectivamente le corresponden, habran salidodos filas de ceros en la tabla final.

    > Temp < airquality[, 4]> Tempf < factor(cut(Temp, breaks = 55 + 5 (0 : 11)))> Month < airquality[, 5]> table(Tempf,Month)

    MonthTempf 5 6 7 8 9(55,60] 8 0 0 0 0(60,65] 7 1 0 0 2(65,70] 9 1 0 0 5(70,75] 4 5 2 2 6(75,80] 2 13 1 9 8(80,85] 1 5 18 6 4(85,90] 0 3 7 9 1(90,95] 0 2 3 3 4(95,100] 0 0 0 2 0

    1.4. Bases de datos

    En este apartado se pueden incluir los objetos list( ), como coleccin orde-nada, a su vez, de objetos y data.frame( ) quiz la estructura de datos msutilizada y que consiste en una coleccin de variables de la misma longitud quepueden ser de tipo diferente.

    1.4.1. Listas

    Con la funcin length( ) aplicada al nombre de la lista, se obtiene el nmerode objetos de que consta, utilizando [[ ]] para describir dichas componentes yseguidas del nmero de orden entre [ ] que ocupa cada elemento del objeto paradescribirlos.Ejemplo:> (lmat2 < list(mat1,mat2))[[1]]

    [,1] [,2] [,3] [,4] [,5][1,] -3.2106300 0.3877666 7.5592096 -0.3403993 1.2039125[2,] -0.7870847 8.7728136 1.0124324 2.7640037 -0.7761628

    28 INTRODUCCIN A R

  • [3,] 0.4241971 0.4688422 0.2401416 3.4419892 -1.9599388[4,] 0.2159416 1.0030262 -1.3389534 3.0205676 -4.2068276[5,] 4.1927219 -6.1559740 4.4434380 1.6881193 -1.1155851[[2]][,1] [,2] [,3][1,] 10 0 2[2,] 0 10 4[3,] 2 4 2> lmat2[[2]][5][1]10> lmat2[[1]][7][1] 8,772814Las listas o elementos de las mismas se pueden enlazar para conseguir nuevas

    listas.Ejemplo:> lmat2[[3]] < lmat2[[2]][5]> lmat2[[1]]

    [,1] [,2] [,3] [,4] [,5][1,] -3.2106300 0.3877666 7.5592096 -0.3403993 1.2039125[2,] -0.7870847 8.7728136 1.0124324 2.7640037 -0.7761628[3,] 0.4241971 0.4688422 0.2401416 3.4419892 -1.9599388[4,] 0.2159416 1.0030262 -1.3389534 3.0205676 -4.2068276[5,] 4.1927219 -6.1559740 4.4434380 1.6881193 -1.1155851[[2]][,1] [,2] [,3][1,] 10 0 2[2,] 0 10 4[3,] 2 4 2[[3]][1] 10

    1.4.2. Data frames

    La forma de construir data frames, siempre que los elementos tengan lamisma dimensin, es mediante data.frame( ) y as.data.frame( ).Para conseguir que las variables del data frame sean objetos se utilizan las

    funciones attach( ) y detach( )Ejemplo.> mat2[,1] [,2] [,3][1,] 10 0 2[2,] 0 10 4

    BASES DE DATOS 29

  • [3,] 2 4 2> (dfmat2 < data.frame(mat2))X1 X2 X31 10 0 22 0 10 43 2 4 2> X1Error: Object X1 not found> attach(dfmat2)> X1[1] 10 0 2> detach(dfmat2)> X1Error: Object X1 not found

    Importacin de bases de datos

    La mayora de las veces, las observaciones se encontrarn almacenadas enficheros externos que se tienen que incorporar mediante las funciones read.table(), que pasa los datos a un data.frame y scan( ) que los pasa a un vector.Para poder leer datos con read.table( ) stos deben de tener en la primera

    lnea el nombre de cada variable y en las sucesivas filas una etiqueta y los valoresde las variables. Con read.table( ) se pueden leer los ficheros directamente sise encuentran en el mismo directorio en el que se arranca R y dando los datosde ubicacin del fichero en su caso.Ejemplo: Se copia la siguiente base de datos en un fichero de texto, cork.txt

    (mediante copy y paste en Wordpad, por ejemplo) y se coloca en el mismodirectorio desde el que se arranca RA B C D1 72 66 76 772 60 53 66 633 56 57 64 584 41 29 36 38> (dfcork < read.table(cork.txt)A B C D1 72 66 76 772 60 53 66 633 56 57 64 584 41 29 36 38Si se copia en un disquete habr que introducir> (dfcork < read.table(a : /cork.txt))Para leer una base de datos que se encuentra en una direccin de internet> (ejURL < read.table(http : //www.mat.ucm.es/palomam/aed/ejURL.dat)V1 V2 V3 V4 V5 V6 V71 1 210 201 -9 130 125 -5

    30 INTRODUCCIN A R

  • 2 2 169 165 -4 122 121 -13 3 187 166 -21 124 121 -34 4 160 157 -3 104 106 25 5 167 147 -20 112 101 -116 6 176 145 -31 101 85 -167 7 185 168 -17 121 98 -238 8 206 180 -26 124 105 -199 9 173 147 -26 115 103 -1210 10 146 136 -10 102 98 -411 11 174 151 -23 98 90 -812 12 201 168 -33 119 98 -2113 13 198 179 -19 106 110 414 14 148 129 -19 107 103 -415 15 154 131 -23 100 82 -18Si se utiliza la funcin scan( )> (sejURL < scan(http : //www.mat.ucm.es/palomam/aed/ejURL.dat))Read 105 items[1] 1 210 201 -9 130 125 -5 2 169 165 -4 122 121 -1 3 187 166 -21[19] 124 121 -3 4 160 157 -3 104 106 2 5 167 147 -20 112 101 -11 6[37] 176 145 -31 101 85 -16 7 185 168 -17 121 98 -23 8 206 180 -26 124[55] 105 -19 9 173 147 -26 115 103 -12 10 146 136 -10 102 98 -4 11 174[73] 151 -23 98 90 -8 12 201 168 -33 119 98 -21 13 198 179 -19 106 110[91] 4 14 148 129 -19 107 103 -4 15 154 131 -23 100 82 -18Para leer el fichero cork.txt con scan( ) hay que quitar el nombre de las

    variables. Por ejemplo guardamos en scork.txt solo los valores1 72 66 76 772 60 53 66 633 56 57 64 584 41 29 36 38> (scork < scan(scork.txt))Read 20 items[1] 1 72 66 76 77 2 60 53 66 63 3 56 57 64 58 4 41 29 36 38

    Se puede utilizar a continuacin la funcin edit( ) sobre la base de datosque se ha ledo, para manejarla con comodidad en una ventana auxiliar.Ejemplo:> edfcork < edit(dfcork)

    Importacin de bases de datos de otros sistemas estadsticos

    Es recomendable cargar el paquete foreign aunque en algunas ocasionesse podrn traer utilizando read.table( ), no obstante se podr utilizar menosmemoria con las siguientes funciones.Para traer ficheros de MINITAB con extensin .mtp (Minitab Portable

    Worksheet) se tiene read.mtp( ) que lo trae en forma de lista. Para leer ficherosen formato SAS Transport (XPORT) y pasarlos a una lista de data frames, se

    BASES DE DATOS 31

  • Figura 1.4.1

    tiene read.xport( ) y anlogamente read.spss( ) para ficheros exportados porSPSS, read.S( ) para muchos objetos de S-PLUS y read.dta( ) para ficherosde STATA.

    1.5. Distribuciones de probabilidad

    Con R es posible determinar algunas caractersticas de las distribucionesde probabilidad ms utilizadas. teniendo que dar en cada caso los parmetroscorrespondientes. En concreto segn la letra que se coloque delante del nombrede la distribucin de probabilidad se podr obtener la densidad si se coloca d,la CDF (funcin de distribucin) si p, la funcin cuantlica si q y para simularuna muestra habr que poner r.Ejemplo: La distribucin Normal se denomina norm, teniendo que especi-

    ficar los parmetros media y desviacin tpica as que para obtener la funcinde densidad, y de distribucin en z = 1,96 para una N(0, 1)

    > dnorm(1,96, 0, 1)[1]0,05844094> pnorm(1,96, 0, 1)[1]0,9750021> qnorm(0,975, 0, 1)[1]1,959964> qnorm(0,9750021, 0, 1)[1]1,96Ejemplo: Para obtener una muestra de tamao 100 de una N(3, 2) y otra

    32 INTRODUCCIN A R

  • independientemente de una t Student, a la que se denomina t, con 1 gradode libertad, y representar ambos histogramas para comparar la diferencia en lascolas. Para representar ambos histogramas se utilizar la funcin par( ) queestablece parmetros en los grficos y de la que se utiliza mfrow = c(2, 1) paraparticionar la ventana del grfico en dos filas y una columna.

    > par(mfrow = c(2, 1))> mt1 < rt(100, 1)> mt1c < mt1 2 + 3> hist(mt1c)> norm < rnorm(100, 1)> normc < norm 2 + 3> hist(normc)

    1.6. Programacin

    Los comandos en R, pueden ser agrupados entre llaves { } dando co-mo valor el resultado final con la ltima expresin. A su vez puede integrarsedentro de una expresin ms amplia y as sucesivamente. Dentro de estas ex-presiones puede haber ciertos comandos de control de la ejecucin permitiendocondicionar la ejecucin de un bloque o ejecutar repetidamente otro.

    PROGRAMACIN 33

  • 1.6.1. Estructuras de control

    Ejecucin condicionada

    Responde al comando if / else de la forma habitual. Hay una (expresion_1)que debe evaluarse, si es CIERTA entonces se evala la expresion_2, de locontrario se evala la expresion_3, el valor final de la expresin global es el dela seleccionada finalmente. La sintaxis correspondiente al caso anterior sera

    > if (expresion_1)expresion_2elseexpresion_3Tambin pueden enlazarse sucesivas condiciones> if (expresion_1)expresion_2else if (expresion_3)expresion_4else if (expresion_5)expresion_6elseexpresion_8evalundose, en orden, las sucesivas expresiones impares hasta que una es

    CIERTA, valorndose la correspondiente expresin par de dicho caso. No haylmites para los else if permitidos.Ejemplo: Donde se van alterando los valores de una muestra de nmeros

    aleatorios segn sea el valor de su suma.> u < runif(20)> u

    [1] 0.8274505 0.7492379 0.9971830 0.6657915 0.2522081 0.25814100.6137507

    [8] 0.1366209 0.8652314 0.6629930 0.6904928 0.8157469 0.75452110.9928052

    [15] 0.8426746 0.8316724 0.3762088 0.3373698 0.1013896 0.8551755

    > s < sum(u)> if (s < 5) u < 1 + u else if (s < 10) u < u> u

    [1] 0.8274505 0.7492379 0.9971830 0.6657915 0.2522081 0.25814100.6137507

    [8] 0.1366209 0.8652314 0.6629930 0.6904928 0.8157469 0.75452110.9928052

    [15] 0.8426746 0.8316724 0.3762088 0.3373698 0.1013896 0.8551755

    34 INTRODUCCIN A R

  • > s

    [1] 12.62666

    >if (s < 5) u < 1 + u else if (s < 10) u < u else if (s < 15)u < 2 u

    > u

    [1] 1.6549009 1.4984758 1.9943660 1.3315830 0.5044162 0.51628211.2275015

    [8] 0.2732418 1.7304629 1.3259860 1.3809856 1.6314938 1.50904221.9856104

    [15] 1.6853491 1.6633447 0.7524176 0.6747396 0.2027791 1.7103510

    Ejecucin repetida

    Mediante las rdenes for, while and repeat se puede conseguir la valoracinrepetida de ciertas expresiones. Por ejemplo para for sera

    > for (nombre en expresion_1) {expresion_2}donde el nombre es el contador de las repeticiones y en la expresion_2 seincluyen las acciones a realizar, en funcin de la variable nombre.Ejemplo: A partir de una matriz 20 10 de observaciones aleatorias e

    independientes N(0, 1) se obtienen las medias muestrales de las columnas, re-presentndolas con un grfico de tallo y hojas

    z < matrix(rnorm(200), 20, 10)mean.samp < NULLfor(i in 1 : 10){mean.samp[i] < mean(z[, i])}stem(mean.samp)

    1.6.2. Funciones

    En lenguaje R las funciones se pueden incorporar como objetos a los pro-cedimientos o almacenar para su uso posterior. La forma general es

    nombre < function(argumento_1, argumento_2, . . .)expresiondonde la expresion se escribe en lenguaje R y utiliza los argumentos introduci-dos. Para llamar a la funcin se utilizar el nombre(valores de los argumentos)como se utilizan normalmente las funciones que ya estn definidas en los pa-quetes que se cargan al comienzo.

    Ejemplo: Funcin para calcular y listar las medias aritmticas de distin-tas potencias de una coleccin de 10 observaciones aleatorias e independientesN(0, 1).

    PROGRAMACIN 35

  • fourmom < function(x){m1 < mean(x)m2 < mean(x2)m3 < mean(x3)m4 < mean(x4)list(m1 = m1,m2 = m2,m3 = m3,m4 = m4)}x < rnorm(10)fourmom(x)

    36 INTRODUCCIN A R

  • 2. INTRODUCCIN A MINITAB

    Es un software estadstico comercial, www.minitab.com, en un entorno Win-dows. Su funcionamiento es similar a la mayora del software comercial estads-tico, pero con facilidades particulares es el aspecto metodolgico por lo quehemos considerado oportuno incluirlo como representante de esta categora deherramientas para el anlisis de datos. Todos los elementos que se manejan enun determinado trabajo se pueden recoger en PROYECTOS para almacenar yrecuperar posteriormente toda la informacin. Los procedimientos en persianasque se despliegan al marcar los distintos elementos de la Barra de herramientas(Toolbars) que aparece en la parte de arriba de la pantalla.

    INTRODUCCIN A MINITAB 37

  • 2.1. Ventanas Iniciales

    Segn se arranca MINITAB aparecen distintas ventanas que tienen difer-entes funciones.

    2.1.1. Ventana de la sesin (Session Window)

    Recoge todas las salidas de texto como por ejemplo los resultados finalesen la aplicacin de los procedimientos.

    2.1.2. Ventana de datos (Worksheet)

    38 INTRODUCCIN A MINITAB

  • Donde se visualizan y editan las bases de datos. Puede haber varias abier-tas. La que est activa, es decir sobre la que se aplican los procedimientosrequeridos es la que contiene junto al nombre. Existen bases de datos al-macenadas en el espacio MINITAB. Para abrirlas en la Barra de HerramientasFile Open Worksheet y por defecto aparecern los distintos ficheros *.mtw.

    Si se quieren exportar es preferible guardarlas como ficherosMinitab Portablecon extensin *.mtp.

    VENTANAS INICIALES 39

  • 2.1.3. Ventana de Informacin General del Proyecto (Project Manager)

    Describe todos los elementos utilizados en un Proyecto junto con sus ca-ractersticas. Dentro de esta ventana se puede llamar a la Ventana de Historia(History) en la que se pueden ver todos los comandos asociados a los proce-dimientos realizados desde la Barra de Herramientas. La posibilidad de utilizarcomandos permitir la personalizacin de las aplicaciones en un nivel avanzadode utilizacin del software.Se pueden almacenar:Variables con la denominacin C*Matrices con la denominacin M*Constantes con la denominacin K*.Para recuperar estos elementos en la Barra de Herramientas Manip

    Display Data.

    40 INTRODUCCIN A MINITAB

  • 2.1.4. Ventana de Grficos (Graphs)

    Siempre que se solicite la realizacin de un grfico, aparecer una ventanaespecial con las figuras.

    Si esta ventana est activa, se puede editar mediante la persiana Editorde la Barra de Herramientas

    VENTANAS INICIALES 41

  • o barrer (Brush) detectando los puntos de inters.

    42 INTRODUCCIN A MINITAB

  • 2.2. Procedimientos

    Marcando los elementos de la Barra de Herramientas se despliegan las per-sianas con los descriptores de las distintas tareas que pueden realizarse. Alsealar un apartado en concreto pueden aparecer nuevas persianas con dis-tintas opciones a realizar o las ventanas de dilogo en las que se definen losparmetros concretos para ejecutar el procedimiento en un caso particular.

    Tambin se pueden utilizar comandos para la ejecucin de los procedimien-tos. Para ello se necesita activar esta opcin: Con la ventana de Sesin activair al Editor en la Barra de Herramientas marcar la fila de la persiana conEnable Commands y aparecer MTB > en la ventana de Sesin donde se de-bern introducir los comandos. Esta forma de trabajo implica un conocimientoavanzado del software pero como se dijo anteriormente permite desarrollar lasaplicaciones de una forma personalizada.

    PROCEDIMIENTOS 43

  • 44 INTRODUCCIN A MINITAB

  • 3. PRCTICAS

    3.1. Importar bases de datos

    Con R- Desde una direccin de internet:

    darwin

  • 3.2. Ejercicios

    Se van a cargar unos datos que posteriormente servirn para aplicar losprocedimienos considerados. Aunque se encuentran en un fichero comprimidodentro del Campus Virtual de la UCM, podrn tambien ser descargados desdehttp://www.mat.ucm.es/~palomam/aed/datos.Campus Virtual Bases de datos clase1 Open o SaveImportar los siguientes datosDatos 1http://www.mat.ucm.es/~palomam/aed/datos/datos1.dat

    49-6781662328411456247560-4829

    Minitab (Cortar y Pegar directamente)

    R (Cortar y Pegar enWorpad)Guardar como fichero texto ejem-plo1.dat y abrir con read.table o con scan.

    Datos 2http://www.mat.ucm.es/~palomam/aed/datos/datos2.txt

    109 137.6113 147.8115 136.8116 140.7119 132.7120 145.4121 135124 133126 148.5129 148.3

    46 PRCTICAS

  • 130 147.5133 148.8134 133.2135 148.7137 152139 150.6141 165.3142 149.9

    Minitab (Cortar y Pegar directamente sobre dos columnas)

    R (Cortar y Pegar en Worpad) Guardar como fichero de textoresline.txt y abrir con read.table.

    EJERCICIOS 47

  • 48 PRCTICAS

  • Parte II

    Anlisis de datos

    49

  • 4. INTRODUCCIN

    4.1. Historia

    - Utilizacin de grficos desde 1786 en que William Playfair representamuy ajustadamente datos comparados de importaciones y exportaciones enInglaterra.- Diagramas en el libro Statistical Methods for Research Workers escrito en

    1925 por Sir Ronald Aylmer Fisher, creador de los fundamentos de la estadsticamoderna.- Pero es el texto de Tukey Exploratory Data Analysis (EDA) de 1977, el

    que supone un cambio fundamental en el planteamiento del anlisis de datos, in-troduciendo nuevas tcnicas y en definitiva una nueva filosofa en el conocimien-to estadstico de las bases de datos.- El futuro se orienta en el desarrollo de las tcnicas de Minera de Datos

    (Data Mining) utilizando el gran avance de los ordenadores en el manejo degrandes bases de datos as como en el aumento de la potencia de los proced-imientos grficos.

    4.2. Cuestiones Generales

    Relacin con otro tipo de planteamientos

    CLSICO: Problema Datos Modelo Anlisis Conclu-siones

    AED: Problema Datos Anlisis Modelo ConclusionesBAYESIANO: Problema Datos Modelo Distribucin apriori Anlisis Conclusiones

    Logros del AED- Visin global de los datos- Aplicacin de modelos simples y ajustados- Deteccin de datos atpicos- Conclusiones robustas- Estimadores de parmetros- Ordenacin de factores que inciden en el problema segn su importancia- Observacin de factores significativos

    INTRODUCCIN 51

  • - Planteamiento del escenario ptimoProcedimientos

    - Cuantitativos

    - Grficos

    Tipos de Problemas

    UnivariantesVariables cuantitativasVariables cualitativas o categricas

    Multivariantes(Y,X1, . . . , Xk) prediccin, optimizacin, . . .(X1, . . . ,Xp) identificacin de estructura

    52 INTRODUCCIN

  • 5. DESCRIPCIN DE DATOS UNIVA-RIANTES

    5.1. Mtodos cuantitativos

    5.1.1. Medidas de tendencia central

    Dados (x1, . . . , xk) con frecuencias absolutas (n1, . . . , nk) tales que

    n = n1 + . . .+ nk

    -Media aritmtica

    x =

    kPi=1

    xini

    n-Media geomtrica

    G = nqxn11 . . . x

    nkk

    -Media armnicaH =

    nkPi=1

    1xini

    -Mediana Considerando todas las observaciones ordenadas

    x1:n xk:n xn:nsi n es impar Me = x([n2 ]+1):n

    si n es par Me =x(n2 +1):n

    +x(n2 ):n2

    -Moda Moes el valor ms frecuenteno tiene por qu ser nica (distribuciones bimodales, multimodales,. . . )

    5.1.2. Medidas de posicin

    Cuantil de orden p, tal que 0 < p < 1. Si p = 14cuartiles, Q1,Q2 =

    Me, Q3.

    DESCRIPCIN DE DATOS UNIVARIANTES 53

  • Mtodo 1: interpolacin entre x(np+1):n y x(np):n si np Z+

    x([np]+1):n si np / Z+

    Mtodo 2: (R) interpolacin entre x[(n1)p+1]:n y x[(n1)p+1]+1:n si(n 1) p+ 1 / Z+

    x((n1)p+1):n si (n 1) p+ 1 Z+

    Mtodo 3: (MINITAB) interpolacin entre x[(n+1)p]:n y x[(n+1)p]+1:nsi (n+ 1) p / Z+

    x((n+1)p):n si (n+ 1) p Z+

    Bisagras (Hinges de Tukey)Son las medianas de las mitades en que divide la mediana a las observa-

    ciones, incluyendo la mediana para un nmero impar de observaciones:

    H1 bisagra inferior

    H2 bisagra superior

    Forman parte de los Resmenes de los Valores Letra (Letter Values Dis-plays), que constituyen un mtodo para describir los datos, una vez orde-nados y contabilizados, mediante letras que se adjudican a diferentes val-ores de posicin. Por ejemplo M para la mediana, H para las bisagras y asE,C,D,B,A, . . .Resumen de los cinco nmeros

    MeH1 H2xn:n x1:n

    5.1.3. Medidas de dispersin

    Varianza

    s2 =

    kPi=1(xi x)2 ni

    n 1 =

    kPi=1

    x2ini nx2

    n 1Desviacin tpica o estndar

    s =

    vuuut kPi=1 (xi x)2 nin 1

    Coeficiente de variacinCV =

    sx

    54 DESCRIPCIN DE DATOS UNIVARIANTES

  • Rango intercuartlico

    RI = Q3 Q1Rango

    R = xn:n x1:nDesviacin media (respecto de la media)

    DM =

    kPi=1|xi x|nin

    Desviacin mediana

    MAD mediana de {|xi Me|}i=1,...,nDesviacin de las bisagras (H spread)

    H2 H1

    5.1.4. Medidas de asimetra y curtosis

    Se pueden representar las grficas de distintas funciones de densidad condiferentes caractersticas de simetra y aplastamiento (curtosis)

    R: Funciones de densidad

    MTODOS CUANTITATIVOS 55

  • R: Funciones de densidad

    y sobreponiendo las simtricas respecto del origen,

    56 DESCRIPCIN DE DATOS UNIVARIANTES

  • Coeficiente de asimetra Pearson

    3 (xMe)s

    Coeficiente de asimetra muestral

    g1 =

    kPi=1(xi x)3 ni

    (n 1) s3

    > 0 asimetra positiva o a la derecha= 0 simetra< 0 asimetra negativa o a la izquierda

    Coeficiente de curtosis muestral

    k =

    kPi=1(xi x)4 ni

    (n 1) s4 3

    > 0 leptocrtica (picuda)= 0 mesocrtica< 0 platicrtica (aplastada)

    5.1.5. Datos 1

    http://www.mat.ucm.es/~palomam/aed/datos/datos1.dat

    MINITAB: Medidas Descriptivas

    MTODOS CUANTITATIVOS 57

  • 58 DESCRIPCIN DE DATOS UNIVARIANTES

  • Funciones de R#base de datos

    ejemplo1

  • 5.1.6. Ejercicios

    MINITAB

    Valores letra: MINITAB

    60 DESCRIPCIN DE DATOS UNIVARIANTES

  • Valores letra: MINITAB (cont.)

    Valores letra: MINITAB (cont.)Datos: Bears.MTW

    MTODOS CUANTITATIVOS 61

  • ASIMETRA Y CURTOSIS

    ASIMETRA Y CURTOSIS

    62 DESCRIPCIN DE DATOS UNIVARIANTES

  • ASIMETRA Y CURTOSIS

    ASIMETRA Y CURTOSIS

    MTODOS CUANTITATIVOS 63

  • RR: Resumen de los cinco nmeros

    Si se generan observaciones, mediante simulacin, de los diferentes modeloscuyas funciones de densidad se representaron anteriormente, se obtendrn losdiferentes valores de las medidas de asimetra y aplastamiento segn su forma.

    64 DESCRIPCIN DE DATOS UNIVARIANTES

  • 5.2. Mtodos grficos

    5.2.1. Variables cualitativas

    - Diagramas de barras o rectngulos con la misma base(barplot)

    la altura proporcional a la frecuencia de la categora

    - Diagramas de sectores (pie charts)

    el ngulo proporcional a la frecuencia de la categora

    - Pictogramas, Cartogramas, . . .

    el tamao de la figura o de la zona sombreada proporcional a la frecuencia dela categora

    5.2.2. Variables cuantitativas

    - Histogramas (de rectngulos con la misma o diferente am-plitud de base)

    MTODOS GRFICOS 65

  • el rea del rectngulo proporcional a la frecuencia de la categora

    - Diagramas de puntos (dotplot)

    las observaciones puntos

    - Diagramas de caja (boxplot)

    la caja limitada por Q1 y Q3 con una lnea sobre Melos bigotes hasta el mximo y el mnimo de las observaciones si estn

    dentro deQ1 (Q3 Q1)Q3 + (Q3 Q1)

    ( suele ser 1,5) datos atpicos (outliers) fuera de ese rango

    Tambin se puede construir (Tukey) con las bisagras H1 y H2 ylos lmites

    F1 = H1 1,5(H2 H1) valla (fence) inferiorF2 = H2 + 1,5(H2 H1) valla (fence) superior

    - Diagramas de tallo y hojas (stem and leaf plots)

    tallo primerdgito o primer bloque de dgitoshojas resto de dgitos hasta completar la observacin

    5.2.3. Ejercicios

    MINITAB

    MINITAB: Grficos

    Abrir bases de datos: Grades, Marketd y Bears

    66 DESCRIPCIN DE DATOS UNIVARIANTES

  • MINITAB: Grficos

    MINITAB: PLOT

    MTODOS GRFICOS 67

  • MINITAB: DOTPLOT(Diagrama de puntos)

    Abrir bases de datos: Pulse

    MINITAB: DOTPLOT(Diagrama de puntos)

    68 DESCRIPCIN DE DATOS UNIVARIANTES

  • MINITAB: STEM-AND-LEAF (Diagrama de tallo y hojas)

    Profundidad

    MINITAB: TIME SERIES PLOT

    MTODOS GRFICOS 69

  • MINITAB: TIME SERIES PLOT

    MINITAB: CHART

    70 DESCRIPCIN DE DATOS UNIVARIANTES

  • MINITAB: HISTOGRAM

    MTODOS GRFICOS 71

  • 90858060453530

    0,03

    0,02

    0,01

    0,00

    Length

    Den

    sity

    Ejemplo 1http://www.mat.ucm.es/~palomam/aed/datos/ejemplo1.dat

    49 -67 8 16 6 23 28 41 14 5624 75 60 -48 29

    Ejemplo 2http://www.mat.ucm.es/~palomam/aed/datos/ejemplo2.dat

    15.2 14.7 14.4 14.0 13.7 13.4 14.6 14.6 14.513.5 14.3 13.5 15.4 14.6 13.7 13.5 14.2 13.813.8 13.9 13.7 13.5 13.0 13.7 14.4 14.0 13.713.5 13.0 15.0 14.2 14.0 14.6 15.8 13.5 15.1

    72 DESCRIPCIN DE DATOS UNIVARIANTES

  • MINITAB: Grfico de puntos

    Datos atpicos

    MTODOS GRFICOS 73

  • MINITAB: Histograma

    MINITAB: Ventana dilogo de histograma

    74 DESCRIPCIN DE DATOS UNIVARIANTES

  • MINITAB: Graph HistogramFrameTick Labels(0,75)

    Funciones de R

    #ejemplo2ejemplo2

  • curve(dnorm(x,mean(ejemplo2),sd(ejemplo2)),add=TRUE)curve(dnorm(x,13.828,0.4482),add=TRUE,col=red)curve(dnorm(x,14.916,0.4482),add=TRUE,col=green)#Finalmente se puede ajustar una mixtura de normalescurve(0.74*dnorm(x,13.828,0.4482)+0.26*dnorm(x,14.916,0.4482),add=TRUE,col=blue,lwd=2)

    Mediante simulacin se pueden generar muestras de diferentes modelos,cuyas funciones de densidad se representaron anteriormente, y comparar consus histogramas

    76 DESCRIPCIN DE DATOS UNIVARIANTES

  • MTODOS GRFICOS 77

  • 78 DESCRIPCIN DE DATOS UNIVARIANTES

  • 5.2.4. Manipulacin de grficos con R.

    R: Aadir elementos a un grfico

    R: Aadir puntos

    MTODOS GRFICOS 79

  • R: Aadir lneas

    tamao de lnea

    R: Aadir texto texto en el centro

    80 DESCRIPCIN DE DATOS UNIVARIANTES

  • RR: Sobreponer grficos

    No se marcan los ejes

    MTODOS GRFICOS 81

  • 82 DESCRIPCIN DE DATOS UNIVARIANTES

  • 6. DESCRIPCIN DE DATOS MULTI-VARIANTES

    6.1. Mtodos cuantitativos

    6.1.1. Matriz de datos

    Xnp =

    X11 . . . X1p...

    . . ....

    Xn1 . . . Xnp

    variable Z1

    . . . variable Zp

    =

    X 01...X 0n

    individuo 1...

    individuo n

    6.1.2. Poblacin (Modelo)

    Variable aleatoria p-dimensional

    Z =

    Z1...Zp

    media: E [Z] = =

    1 = E [Z1]...

    p = E [Zp]

    matriz de covarianzas: Cov [Z] = = E(Z E [Z]) (Z E [Z])0

    =

    = E [ZZ 0]0 =

    =

    V ar [Z1] Cov [Zi, Zj]

    Cov [Zi, Zj]. . .

    V ar [Zp]

    donde Cov [Zi, Zj] = E [(Zi E [Zi]) (Zj E [Zj])] = E [ZiZj]E [Zi]E [Zj].

    DESCRIPCIN DE DATOS MULTIVARIANTES 83

  • Subconjuntos de variables

    Si se consideran los grupos de variables Z =UV

    donde U =

    Z1...Zr

    y

    V =

    Zr+1...Zp

    se tiene que

    media: E [Z] =U = E [U ]V = E [V ]

    matriz de covarianzas: Cov [Z] =UU UVV U V V

    6.1.3. Estadsticos

    Vector de medias:

    X =

    X1...Xp

    donde Xj = 1n

    nXk=1

    Xkj = 1nX1j . . . Xnj

    1...1

    | {z }1n

    , por tanto

    X = (10n1n)1X01n

    Matriz de covarianzas muestral:

    S =

    S11 Sij

    Sij. . .

    Spp

    84 DESCRIPCIN DE DATOS MULTIVARIANTES

  • donde

    Sij = Sji =

    nXk=1

    Xki Xi

    Xkj Xj

    n 1 =

    nX

    k=1

    XkiXkj

    ! nXiXj

    n 1

    Sii =

    nXk=1

    Xki Xi

    2n 1

    son las varianzas y covarianzas muestrales.Por lo tanto

    S =1

    n 1

    nXk=1

    Xk X

    Xk X

    0 .Adems se puede demostrar que E [S] = .

    Clculo a partir de la matriz de datos centrados

    Sea

    XC =

    X11 X1 . . . X1p Xp...

    . . ....

    Xn1 X1 . . . Xnp Xp

    entonces

    XC = X 1nX0

    S =1

    n 1X0CXC .

    Tambin XC = PX, donde P = In1n (10n1n)1 10n es una matriz simtrica

    e idempotente y as

    S =1

    n 1X0PX

    Matriz de correlacin muestral:

    R =

    1 Rij

    Rij. . .

    1

    donde

    Rij = Rji =SijpSiiSjj

    son los coeficientes de correlacin muestral, 0 R2ij 1.

    MTODOS CUANTITATIVOS 85

  • Si DS =

    S11 00

    . . . 00 pSpp

    se tiene

    R= D1S SD1S

    S = DSRDS

    Subconjuntos de variables

    Si X = ( B1|{z}observaciones

    de U

    | B2|{z})observaciones

    de V

    se tiene

    vector de medias: X =XUXV

    matriz de covarianzas muestral: S =

    SUU SUVSV U SV V

    6.1.4. Combinaciones lineales de variables

    Supongamos que dada la variable aleatoria Z =

    Z1...Zp

    tal que E [Z] =

    Z y Cov [Z] = Z , se define la variable aleatoria Y = a1Z1+ . . .+apZp = a0Z

    para a =

    a1...ap

    , entonces

    E [Y ] = a0ZCov [Y ] = a0Za.

    Las observacionesX =

    X11 . . . X1p...

    . . ....

    Xn1 . . . Xnp

    se transforman enW = Xa

    y por lo tantomedia muestral: w = a0X

    varianza muestral: s2w = a0SXa.

    En general sea Y = AZ donde A =

    a11 . . . a1p...

    . . ....

    aq1 . . . aqp

    entonces

    E [Y ] = AZ

    86 DESCRIPCIN DE DATOS MULTIVARIANTES

  • Cov [Y ] = AZA0

    En este caso, las observaciones pasan a serW = XA0 por lo que

    vector de medias: W = AX

    matriz de covarianzas muestral: SW = ASXA0.

    6.1.5. Medidas de variabilidad alrededor de X

    Sea la matriz de datos

    Xnp =

    X11 . . . X1p...

    . . ....

    Xn1 . . . Xnp

    =

    X 01...X 0n

    con matriz de covarianzas S, entonces las cantidades que suelen definirse paradescribir el comportamiento de la nube de puntos alrededor de su media, sebasan en la evalucin de distintas caractersticas de dicha matriz de covarianzas.Varianza Total

    V T = suma(elementos de la diagonal de S)

    Varianza Media

    VM =1

    psuma(elementos de la diagonal de S)

    Varianza Generalizada

    V G = determinante(S)

    Otra forma de tratar el problema conlleva la introduccin de la distanciade Mahalanobis entre un punto xi y la media X definida por

    2 (xi, x) = (xi x)0 S1x (xi x) .

    6.1.6. Coeficientes de asimetra y curtosis multivariantes

    Sean dij = (xi x)0 S1x (xj x) para cualquier par de observaciones xi yxj. Se puede demostrar que

    2 (xi, xj) = 2 (xi, x) 2dij +2 (xj, x) .

    Los coeficientes ms utilizados se basan en estas cantidades calculadas paratodas las observaciones.

    MTODOS CUANTITATIVOS 87

  • Coeficiente de asimetra

    p =1

    n2

    nXi=1

    nXj=1

    d3ij

    Coeficiente de curtosis

    Kp =1

    n

    nXi=1

    d2ii

    6.1.7. Manipulacin de matrices con MINITAB

    MINITAB : Matrices desde WorksheetConstruccin de la matriz M1 con las columnas C2 a C6

    Datos Cities

    88 DESCRIPCIN DE DATOS MULTIVARIANTES

  • ManipDisplay Data

    MINITAB : Matrices desde Worksheet

    MINITAB : Matrices desde keyboard

    Dede ventana Session Editor Enable Commands

    MTODOS CUANTITATIVOS 89

  • MINITAB : Matrices desde ficheroDesde http://www.mat.ucm.es/~palomam/aed/datos/calcio.txt

    datos calcio.txt sin la 1 columna

    ManipDisplay Data

    MINITAB : Operaciones con matrices

    Calcula la traspuesa

    Calcula la inversa

    Rellena con un valor constante

    Construye una matriz diagonal con una columna o pasa la diagonal de una matriz a un columa

    Autovalores y autovectores

    Suma resta y multiplicacin

    90 DESCRIPCIN DE DATOS MULTIVARIANTES

  • MINITAB: Vector de medias y matriz de covarianzas (Datos Cities)

    Si se almacena como COVA1

    6.1.8. Ejercicios con R

    Ejercicio 1 : Con los datos Pulse de Minitabhttp://www.mat.ucm.es/~palomam/aed/datos/pulse.txt

    y utilizando Minitab y R, se pide:

    Seleccionar las variables Pulse 1, Pulse 2, Weight y Height

    Determinar las matrices de covarianzas y correlacin

    Calcular el vector de medias a partir de la matriz de datos X

    Determinar XC y P

    Comprobar que P es simtrica e idempotente

    Determinar la matriz de covarianzas a a partir de XC

    pulse

  • pulse
  • La salida de los resultados

    > cov(pulse)Pulse2 Height WeightPulse2 292.197802 -8.928571 -68.41758Height -8.928571 13.390409 68.18084Weight -68.417582 68.180841 563.55901> cor(pulse)Pulse2 Height WeightPulse2 1.0000000 -0.1427403 -0.1686008Height -0.1427403 1.0000000 0.7848664Weight -0.1686008 0.7848664 1.0000000> (1/nrow(pulse))*t(m.pulse)%*%seq(1,1,length=nrow(pulse))

    [,1]Pulse1 72.86957Pulse2 80.00000Height 68.71739Weight 145.15217>

    Ejercicio 2 : Con los datos diab.txthttp://www.mat.ucm.es/~palomam/aed/datos/diab.txt

    y utilizando Minitab y R se pide:

    Determinar vector de medias y matriz de covarianzas

    Separar las variables 1 y 2 y determinar sus caractersticas

    Determinar, a partir de todos los datos, XCSi interesa la variable Z=1.2X1+0.4X2+0.1X3+0.1X4+1.2X5determnese la media y la varianza muestral asociada a los datos

    diab

  • diab.cov
  • > cor(diab)V2 V3 V4 V5 V6

    V2 1.00000000 0.20217252 0.1860353 -0.03444497 0.37231056V3 0.20217252 1.00000000 0.0938743 -0.05843578 -0.05368006V4 0.18603532 0.09387431 1.0000000 0.24438735 0.07049590V5 -0.03444497 -0.05843578 0.2443873 1.00000000 0.50653268V6 0.37231056 -0.05368006 0.0704959 0.50653268 1.00000000> med.y

    [,1][1,] 205.8253> var.y

    [,1][1,] 3417.609> mean(Y)[1] 205.8253> var(Y)

    [,1][1,] 3417.609>

    MTODOS CUANTITATIVOS 95

  • Ejercicio 3 : Sea Z = de la que se obtienen los datos

    Z3

    Z2

    Z1

    Z3

    Z2

    Z1

    404614521

    404614521

    X= y sean W2= Z1- Z2+3 Z3W1=2 Z1+2 Z2- Z3W2= Z1- Z2+3 Z3

    W1=2 Z1+2 Z2- Z3

    Se pide: la nueva matriz de datos, vector de medias y matriz de covarianzas

    96 DESCRIPCIN DE DATOS MULTIVARIANTES

  • 6.1.9. Estudio de la variabilidad

    Se pueden comparar las medidas introducidas anteriormente o utilizar elconcepto de distancia estadstica (Mahalanobis).EJEMPLOCon los datos

    http://www.mat.ucm.es/~palomam/aed/datos/dat1.txt (cruces verdes)http://www.mat.ucm.es/~palomam/aed/datos/dat2.txt (crculos rojos)se obtienen dos tipos de nubes de puntos que pueden representarse con R.dat1

  • cov1 cor2

    x.2 y.2x.2 1.0000000 -0.1341320y.2 -0.1341320 1.0000000> VT1[1] 2.489729> VT2[1] 2.648196> VM1[1] 1.244864> VM2[1] 1.324098> VG1[1] 0.5968244> VG2[1] 1.720744

    98 DESCRIPCIN DE DATOS MULTIVARIANTES

  • Distancias entre los puntos y las medias

    Consideramos la posicin de los puntos xp1 y xp2 respecto de la media delos datos dat1.txt.

    #Distancias a la mediaplot(dat1,col="dark blue",ylim=c(0,6))points(med1[1],med1[2],col="red",pch=19,cex=1.2)text(2,2.7,"med1",col="red",cex=1.2)xp1

  • que puede cuantificarse mediante la evaluacin de la distancia de Maha-lanobis y la distancia eucldea.

    dist

  • 6.2. Mtodos grficos

    6.2.1. Grficos para dos variables

    - Grficos de dispersin o nubes de puntos (scatterplots)Cada observacin un punto en el plano.-Matrices de grficos de dispersin (matrix plots)Matrices bidimensionales compuestas de grficos de dispersin individuales

    para cada par de variables.- Grficos marginalesComo complemento a los anteriores, con representacin, en los bordes, de

    histogramas, diagramas de caja,. . . para cada variable.

    6.2.2. Grficos para tres variables

    - Grficos de dispersin o nubes de puntos (scatterplots)Cada observacin un punto en el espacio.- Grficos de contorno (contour plots)Puntos representando las observaciones de dos de las variables para valores

    fijos de las observaciones de la tercera variable.- Grficos de superficie y de lneas (surface and wireframe plots)

    MTODOS GRFICOS 101

  • Generan una red de polgonos formados por caras y lados que representanlas observaciones de las tres variables.

    6.2.3. Operaciones con los grficos anteriores

    - Barrido (brushing)Permite sealar puntos y analizarlos por separado.- Spinnig herramienta incorporada en cierto tipo de software (por ejem-

    plo S-Plus), que permite girar los tres ejes para profundizar en las relacionesde las tres variables.

    6.2.4. Perfiles Multivariantes

    Se pretende recoger toda la informacin de la base de datos con ms de doscolumnas, en una figura de dos dimensiones.- Curvas de Fourier o de AndrewsMtodo propuesto por Andrews y que consiste en representar cada obser-

    vacin p-variante (x1, . . . , xp) mediante la curva de Fourier

    f (t) =x12+ x2 sin t+ x3 cos t+ x4 sin 2t+ x5 cos 2t+ . . .

    representada en el intervalo (, )- Caras de ChernoCada observacin se representa por una cara donde el valor de cada variable

    representa la medida de un rasgo de la misma, por ejemplo tamao de nariz,de boca. . . , posicin de ojos,. . .- EstrellasCada observacin (de variables no negativas) se representa en dos dimen-

    siones mediante crculos de radio fijo con p lneas emanando del centro.La longitud de cada lnea es el valor que tiene cada variable en dicha ob-

    servacin. Si se unen los extremos finales de los radios cada observacin repre-sentada por una estrella.

    6.2.5. Grficos condicionados (Coplots)

    Permiten la representacin de dos variables condicionando por los valoresde una tercera variable. Considerando distintas particiones del rango de lavariable que condiciona se pueden obtener nubes de puntos de las otras dosvariables, obtenindose informacin sobre la relacin entre las tres variables.

    102 DESCRIPCIN DE DATOS MULTIVARIANTES

  • 6.2.6. Ejercicios con MINITAB

    GRFICOS MULTIVARIANTES: MINITABMatrices de grficos de dispersin

    Datos Cereal en

    Minitab Graph Matrix Plot

    Matrices de grficos de dispersin

    Variable de grupo Fat

    MTODOS GRFICOS 103

  • Grficos de contornoDatos Bears en Minitab Graph Contour Plot

    5 valores

    Grficos de dispersin

    Datos Bears en Minitab Graph 3D, 3DWireframe, 3DSurface Plot

    104 DESCRIPCIN DE DATOS MULTIVARIANTES

  • Grficos de dispersin Make Mesh Data

    Grficos de dispersin

    Normal Bivariante Graph 3D, 3DWireframe, 3DSurface Plot

    MTODOS GRFICOS 105

  • 6.2.7. Ejercicios con R

    GRFICOS MULTIVARIANTES: R

    Paquetes fundamentales: grDevices, graphics, grid y latticemquina grfica

    sistemas grficos

    paquete grfico construido sobre el sistema grid para producir grficos Trellis

    Trellis Display

    Cleveland, W. (1993), Visualizing Data

    Tipos de funciones grficas:

    ALTO NIVEL: producen grficos completos

    BAJO NIVEL: aaden elementos a un grfico existente

    INTERACTIVAS: permiten trabajar con una salida grfica de forma interactiva

    PAQUETE GRAPHICS

    Identifica puntos de forma interactiva

    Localiza hasta 20 puntos

    106 DESCRIPCIN DE DATOS MULTIVARIANTES

  • PAQUETE GRAPHICS: Perfiles Multivariantes

    Con los datos en http://www.mat.ucm.es/~palomam/aed/datos/frenos2.dat

    se define el objeto frenos que representan las caractersticas de seis marcas defrenos

    frenos

  • PAQUETE GRAPHICS: Coplots

    108 DESCRIPCIN DE DATOS MULTIVARIANTES

  • Los Trellis Graphics son un nuevo sistema para la realizacin de grficoscon S-PLUS. El paquete Lattice de R consiste en la implementacin de losgrficos Trellis en R. Por tanto es un paquete grfico de segunda generacinen el que se incluyen funciones de alto nivel para la creacin de grficos comoobjetos trellis.

    PAQUETE LATTICE

    MTODOS GRFICOS 109

  • PAQUETE LATTICE

    PAQUETE LATTICE

    110 DESCRIPCIN DE DATOS MULTIVARIANTES

  • Se puede aadir un ttulo en un objeto nuevo

    6.3. Dependencia entre pares de variables cuan-titativas

    6.3.1. Mtodos grficos

    Estudio de la nube de puntos

    DEPENDENCIA ENTRE PARES DE VARIABLES CUANTITATIVAS 111

  • 6.3.2. Medidas cuantitativas

    Coeficiente de correlacin (lineal) mide el grado de dependencia linealentre las variables

    rij =sijsisj

    siendo

    sij = sji =

    nXk=1

    (xki xi) (xkj xj)

    n 1 =

    nX

    k=1

    xkixkj

    ! nxixj

    n 1

    s2i =

    nXk=1

    (xki xi)2

    n 1 .

    Es tal que 1 rij 1 y si:

    rij = 1 existe relacin lineal positiva entre las variables i y jrij = 1 existe relacin lineal negativa entre las variables i y jrij = 0 no existe relacin lineal entre las variables i y j

    Coeficiente de correlacin de Spearman detecta dependencia mon-tona entre las variables y se calcula mediante el coeficiente de correlacin entrelos rangos de las observaciones.Ejemplo: Sean las observaciones

    X 70.0 65.0 63.0 72.0 81.0 83.0 66.0 75.0 80.0 75.0 79.0 76 76.069.0 75.0 74.0 85.0 86.0 71.0 64.0 78.0 80.0 74.0 72.0 77.0 81.0 82.080.0 80.0 80 87Y 10.3 10.3 10.2 16.4 18.8 19.7 15.6 18.2 22.6 19.9 24.2 21 21.4

    21.3 19.1 22.2 33.8 27.4 25.7 24.9 34.5 31.7 36.3 38.3 42.6 55.4 55.758.3 51.5 51 77

    112 DESCRIPCIN DE DATOS MULTIVARIANTES

  • entonces rxy = 0.598 y considerando los rangos de las variables

    rango (X) 6 3 1 8.5 25.5 28 4 13 22 13 19 15.5 15.5 5 13 10.529 30 7 2 18 22 10.5 8.5 17 25.5 27 22 22 22 31rango (Y) 2.5 2.5 1 5 7 9 4 6 15 10 16 11 13 12 8 14 21 19 18

    17 22 20 23 24 25 28 29 30 27 26 31

    el coeficiente de correlacin de Spearman es xy = 0.579

    6.3.3. Regresin lineal simple

    Sean las observaciones {(x1, y1) , . . . , (xn, yn)} de (X,Y ) cuya nube de pun-tos tiene una forma lineal,

    para ajustar una recta a la nube de puntos utilizaremos el modelo de regresinlineal simple.ModeloSuponemos que existe una recta recta y = +x sobre la que se encuentran

    las medias condicionadas E [Y | X = xi] para i = 1, . . . , n, de forma que lasobservaciones son yi = + xi + i i = 1, . . . , n donde {i} son ruido o seaobservaciones independientes de una N (0, ).

    DEPENDENCIA ENTRE PARES DE VARIABLES CUANTITATIVAS 113

  • entonces se determina la recta y = + x de tal forma que

    mn,

    Pni=1 (yi (+ xi))

    2 =Pn

    i=1

    yi

    + xi

    2(criterio de mnimos cuadrados)

    obtenindose los estimadores

    = y x

    =P

    xiyi nxyPx2i nx2

    .

    Grficamente podra obtenerse la siguiente representacin

    114 DESCRIPCIN DE DATOS MULTIVARIANTES

  • Residuos

    Se definen

    i = yi + xi

    = yi yi; i = 1, . . . , n

    y son una herramienta esencial para el diagnstico y validacin de las hipte-sis establecidas en el planteamiento inicial del modelo de regresin lineal. Tam-bin permiten definir el estimador de 2 mediante

    2 =1

    n 2

    nXi=1

    2i

    Anlisis de residuos

    Se utilizan los grficos que representan los puntos {(yi, i) ; i = 1, . . . , n}analizando los patrones que describen para verificar si el modelo de regresinlineal es el adecuado. As, por ejemplo se pueden obtener las siguientes nubesde puntos

    DEPENDENCIA ENTRE PARES DE VARIABLES CUANTITATIVAS 115

  • 6.3.4. Regresin con R

    Todos los elementos de la regresin en R se recogen en un objeto lm cuyoselementos se especifican si se solicitan sus attributes o su summary.

    Si se obtiene, mediante simulacin, una nube de puntos alrededor de y =2x+1 con erroresN (0, 2), se podr ajustar la correspondiente recta de mnimoscuadrados.

    116 DESCRIPCIN DE DATOS MULTIVARIANTES

  • REGRESIN en R

    DEPENDENCIA ENTRE PARES DE VARIABLES CUANTITATIVAS 117

  • REGRESIN Y CORRELACIN en R

    ANLISIS DE RESIDUOS

    118 DESCRIPCIN DE DATOS MULTIVARIANTES

  • 6.3.5. Regresin con MINITAB

    Se selecciona la persiana

    obtenindose la ventana de dilogo donde se especificarn las variables consid-eradas y la opciones de resultados requeridos

    DEPENDENCIA ENTRE PARES DE VARIABLES CUANTITATIVAS 119

  • 6.3.6. Ejemplo 3

    Con los datos de

    http://www.mat.ucm.es/~palomam/aed/datos/ejemplo3.txt

    15 1711 1516 1824 2514 1611 1218 2017 2420 1913 30

    MINITAB: Nube de puntos

    Dato atpico

    120 DESCRIPCIN DE DATOS MULTIVARIANTES

  • MINITAB: Barrido (Brush)

    EditorBrush

    MINITAB: Regresin con todos los datos

    DEPENDENCIA ENTRE PARES DE VARIABLES CUANTITATIVAS 121

  • MINITAB: Regresin sin dato atpico

    R

    122 DESCRIPCIN DE DATOS MULTIVARIANTES

  • 6.3.7. Ejemplo 4

    Con los datos de

    http://www.mat.ucm.es/~palomam/aed/datos/ejemplo4.txt

    1.38 1.641.4 1.71.24 1.721.36 1.741.48 1.821.38 1.91.56 2.081.14 1.781.2 1.861.18 1.961.26 2

    DEPENDENCIA ENTRE PARES DE VARIABLES CUANTITATIVAS 123

  • MINITAB: Nube de puntos separados

    Rejemplo4

  • 6.3.8. Ejemplo 5

    Con los datos de

    http://www.mat.ucm.es/~palomam/aed/datos/ejemplo5.txt

    1 0.592 0.813 0.834 0.975 1.016 1.027 1.28 1.889 4.3410 5.33

    MINITAB: Nube de puntos

    DEPENDENCIA ENTRE PARES DE VARIABLES CUANTITATIVAS 125

  • MINITAB: Regresin con todos los datos

    MINITAB: Regresin sin datos atpicos

    126 DESCRIPCIN DE DATOS MULTIVARIANTES

  • Rejemplo5
  • 6.3.9. Regresin no paramtrica

    La idea fundamental radica en huir de un marco paramtrico, como el queacabamos de mencionar en el Modelo de Regresin Lineal Simple y hacer,nicamente, la hiptesis de que la media condicionada es una funcin f que secomporta con cierta suavidad smoothness; lo suficiente como para que suvalor en puntos X prximos pueda suponerse muy similar. Sobre la dispersinde Y respecto a nuestra funcin objetivo, mantenemos la hiptesis de que esconstantemente igual a 2.Casi seguro que ante la pregunta de cmo actuara sobre los datos para

    estimar la funcin f ? una respuesta muy frecuente sera del tipo: asociandoa cada X un resumen estadstico de los valores de Y en las proximidades delX considerado; es decir, algo as como calcular medias locales. Si hiciramosun grfico de dichas medias sobre el diagrama de dispersin del par (X,Y ),tendramos una versin suavizada de la nube de puntos; de ah que los mtodosreciban el nombre de suavizadores en ingls smoothers.

    Regresin Local (LOESS, LOWESS)

    Este mtodo calcula, para cada valor X = x0, el promedio de Y que seobtiene ajustando un modelo de regresin lineal, por mnimos cuadrados pon-derados, en un entorno de x0. Evidentemente, habr que concretar lo queentendemos por un entorno de x0 y los pesos que utilizaremos en las pondera-ciones para los mnimos cuadrados; lo dems est perfectamente definido. Sesuele tomar como vecindad entorno de x0 los k vecinos ms prximos, esdecir, los puntos que dan los k valores ms pequeos a la distancia |x x0|.Habitualmente, el valor de k se especifica mediante un porcentaje conocidocomo span del nmero total de observaciones del par (X,Y ); los valoresms frecuentes son los del intervalo [0.3, 0.5], aunque el valor que se toma enR por defecto es 2/3. Respecto a los pesos, a cada punto x del entorno de x0se le asigna el peso

    w |x x0|

    x0

    siendo x0 la mxima distancia encontrada en el entorno y w () una funcindenominada tri-cubo definida por

    w (t) =(1 t3)3 , si 0 t < 10 en los dems casos.

    .

    Grficamente, el procedimiento podra explicarse mediante la siguiente rep-resentacin donde el tamao de los crculos refleja el peso de cada punto en elentorno considerado para x0 = 8.

    128 DESCRIPCIN DE DATOS MULTIVARIANTES

  • Puede aplicar este procedimiento a los datos

    http://www.mat.ucm.es/~palomam/aed/datos/loess2.txt

    sin ms que ejecutar, en R, las instrucciones siguientes:lo

  • En MINITAB se puede representar este ajuste como opcin al solicitar unPlot de los puntos. As, con el ejemplo anterior aparece la siguiente ventanaal solicitar GraphPlot

    130 DESCRIPCIN DE DATOS MULTIVARIANTES

  • lo que dara solo la representacin de la lnea ajustada con un span de 0.5,