Transcription of R para Principiantes
1 R para PrincipiantesEmmanuel ParadisInstitut des Sciences de l EvolutionUniversit Montpellier IIF-34095 Montpellier cdex porJorge A. AhumadaRCUH/ University of Hawaii &USGS/ National Wildlife Health CenterE-mail: agradecerle a Julien Claude, Christophe Declercq, Elodie Gazave, Friedrich Leischy Mathieu Ros por sus comentarios y sugerencias en versiones anteriores de este en estoy muy agradecido con los miembros del grupo nuclear de programadores de R porsus esfuerzos considerables en el desarrollo de R y su animo en la lista de discusi on rhelp .Gracias a todos los usuarios de R cuyas preguntas y comentarios me ayudaron a escribir R paraprinicpiantes .c 2002, Emmanuel Paradis (3 de marzo de 2003)1 Indice1. Pr ologo32. Algunos conceptos antes de C omo funciona R.. Creaci on, listado y remoci on de objetos en memoria.
2 La ayuda en l nea..73. Manejando Datos con Objetos.. Leyendo datos desde un archivo.. Guardando datos.. Generaci on de datos.. Secuencias regulares.. Secuencias aleatorias.. Manipulaci on de objetos.. Creaci on de objetos.. Conversi on de objetos.. Operadores.. C omo acceder los valores de un objeto: el sistema de indexaci on.. Accediendo a los valores de un objeto con nombres.. El editor de datos.. Funciones aritm eticas simples.. C alculos con Matrices..274. Haciendo gr aficas en Manejo de gr aficos.. Abriendo m ultiples dispositivos gr aficos.. Disposici on de una gr afica.. Funciones gr aficas.. Comandos de graficaci on de bajo nivel.. Par ametros gr aficos.. Un ejemplo pr actico.. Los paquetesgridylattice..405. An alisis estad sticos con Un ejemplo simple de an alisis de varianza.
3 F ormulas.. Funciones gen ericas.. Paquetes..526. Programaci on pr actica con Bucles y Vectorizaci on.. Escribiendo un programa en R.. Creando sus propias funciones..577. Literatura adicional sobre R5921. Pr ologoEl objetivo de este documento es proporcionar un punto de partida para personas interesadasen comenzar a utilzar R. He escogido hacer enfasis en el funcionamiento de R, con el objeto deque se pueda usar de una manera b asica. Dado que R ofrece una amplia gama de posibilidades,es util para el principiante adquirir algunas nociones y conceptos y asi avanzar tratado de simplificar las explicaciones al m aximo para hacerlas lo m as comprensivas posibles,pero al mismo tiempo proporcionando detalles utiles, algunas veces con la ayuda de es un sistema para analisis estad sticos y gr aficos creado por Ross Ihaka y Robert Gentle-man1.
4 R tiene una naturaleza doble de programa y lenguaje de programaci on y es consideradocomo un dialecto del lenguaje S creado por los Laboratorios AT&T Bell. S est a disponible comoel programa S-PLUS comercializado por Insightful2. Existen diferencias importantes en el dise node R y S: aquellos interesados en averiguar m as sobre este tema pueden leer el art culo publicadopor Ihaka & Gentleman (1996) o las Preguntas M as Frecuentes en R3, que tambi en se distribuyencon el se distribuye gratuitamente bajo los t erminos de laGNU General Public Licence4; su desa-rrollo y distribuci on son llevados a cabo por varios estad sticos conocidos como elGrupo Nuclearde Desarrollo de est a disponible en varias formas: el c odigo fuente escrito principalmente en C (y algunasrutinas en Fortran), esencialmente para m aquinas Unix y Linux, o como archivos binarios pre-compilados para Windows, Linux (Debian, Mandrake, RedHat, SuSe), Macintosh y Alpha archivos necesarios para instalar R, ya sea desde las fuentes o binarios pre-compilados, sedistribuyen desde el sitio de internetComprehensive R Archive Network(CRAN)5junto con lasinstrucciones de instalaci on.
5 para las diferentes distribuciones de Linux (Debian, .. ), los binariosest an disponibles generalmente para las versiones m as actualizadas de estasyde R; visite el sitioCRAN si es posee muchas funciones para an alisis estad sticos y gr aficos; estos ultimos pueden ser vi-sualizados de manera inmediata en su propia ventana y ser guardados en varios formatos (jpg,png, bmp, ps, pdf, emf, pictex, xfig; los formatos disponibles dependen del sistema operativo).Los resultados de an alisis estad sticos se muestran en la pantalla, y algunos resultados interme-dios (como valoresP-, coeficientes de regresi on, residuales, .. ) se pueden guardar, exportar a unarchivo, o ser utilizados en an alisis lenguaje R permite al usuario, por ejemplo, programar bucles ( loops en ingl es) para ana-lizar conjuntos sucesivos de datos. Tambi en es posible combinar en un solo programa diferentesfunciones estad sticas para realizar an alisis m as complejos.
6 Usuarios de R tienen a su disponibi-lidad un gran n umero de programas escritos para S y disponibles en la red;6la mayor a de estospueden ser utilzados directamente con principio, R puede parecer demasiado complejo para el no-especialista. Esto no es ciertonecesariamente. De hecho, una de las caracter sticas m as sobresalientes de R es su enorme flexibi-lidad. Mientras que programas m as cl asicos muestran directamente los resultados de un an alisis,R guarda estos resultados como un objeto , de tal manera que se puede hacer un an alisis sin ne-cesidad de mostrar su resultado inmediatamente. Esto puede ser un poco extra no para el usuario,pero esta caracter stica suele ser muy util. De hecho, el usuario puede extraer solo aquella partede los resultados que le interesa. Por ejemplo, si uno corre una serie de 20 regresiones y quiere1 Ihaka R. & Gentleman R.
7 1996. R: a language for data analysis and of Computational andGraphical Statistics5: 299 ease para m as informaci on3 mayor informaci on: ejemplo: y operadores? datos objetos?6 )XXXXXXXz resultados a defunciones datosarchivos -internet PSJPEG..tecladorat on-comandospantallaMemoria activaDisco duroFigura 1:Una visi on esquem atica del funcionamiento de los coeficientes de regresi on, R le puede mostrar unicamente los coeficientes estimados:de esta manera los resultados se pueden resumir en una sola l nea, mientras que un programa cl asi-co le puede abrir 20 ventanas de resultados. M as adelante, veremos otros ejemplos que ilustran ycomparan la flexibilidad de R con programas de estad stica m as Algunos conceptos antes de comenzarUna vez instale R en su computador, el programa se puede iniciar corriendo el archivo ejecu-table correspondiente.
8 El cursor, que por defecto es el s mbolo > , indica que R est a listo pararecibir un comando. En Windows, algunos comandos pueden ser ejecutados a trav es de los menusinteractivos (por ej. buscar ayuda en l nea, abrir archivos, .. ). En este punto, un nuevo usuario deR probablemente estar a pensando Y ahora que hago? . De hecho, cuando se utiliza R por primeravez, es muy util tener una idea general de como funciona y eso es precisamente lo que vamos ahacer ahora. Como primera medida, veremos brevemente como funciona R. Posteriormente, des-cribir e el operador asignar el cual permite crear objetos en R, miraremos como manejar estosobjetos en memoria, y finalmente veremos c omo usar la ayuda en l nea, la cual a diferencia de lasayudas en otros programas estad sticos, es bastante util e C omo funciona RR es un lenguajeOrientado a Objetos: bajo este complejo t ermino se esconde la simplicidady flexibilidad de R.
9 El hecho que R es un lenguaje de programaci on puede desaminar a muchosusuarios que piensan que no tienen alma de programadores . Esto no es necesariamente ciertopor dos razones. Primero R es un lenguaje interpretado (como Java) y no compilado (como C,C++, Fortran, Pascal, .. ), lo cual significa que los comandos escritos en el teclado son ejecutadosdirectamente sin necesidad de construir segunda medida, la sint axis de R es muy simple e intuitiva. Por ejemplo, una regresi onlineal se puede ejecutar con el comandolm(y x). para que una funci on sea ejecutada en Rdebe estarsiempreacompa nada de par entesis, inclusive en el caso que no haya nada dentro de losmismos (por ej.,ls()). Si se escribe el nombre de la funci on sin los par entesis, R mostrar a elcontenido (c odigo) mismo de la funci este documento, se escribir an los nombres de las funciones con par entesis para distinguirlasde otros objetos, a menos que se indique lo contrario en el a Objetossignifica que las variables, datos, funciones, resultados, etc.
10 , se guardanen la memoria activa del computador en forma deobjetoscon unnombreespec fico. El usuariopuede modificar o manipular estos objetos conoperadores(aritm eticos, l ogicos, y comparativos)yfunciones(que a su vez son objetos).El uso y funcionamiento de los operadores es relativamente intuitivo, y veremos los detallesm as adelante ( ). Una funci on en R se puede delinear de la siguiente manera:argumentos opciones funci on argumentos por defecto= resultadoLos argumentos pueden ser objetos ( datos , f ormulas, expresiones, .. ), algunos de los cualespueden ser definidos por defecto en la funci on; sin embargo estos argumentos pueden ser modifi-cados por el usuario con opciones. Una funci on en R puede carecer totalmente de argumentos, yasea porque todos est an definidos por defecto (y sus valores modificados con opciones), o porquela funci on realmente no tiene argumentos.