R para Principiantes



Documentos relacionados
Microsoft Excel. Excel tiene una gran variedad de cosas que si eres persona de negocios, te va a servir mucho.

Sesiones 2-3: Transformación de datos

Realizar copias de seguridad de archivos

Instalación y Configuración de la interfaz de TPV.

Sistemas de numeración

Cómo configurar el aula en Moodle?

Wimba Pronto. Guía de instalación de laboratorio informático

Manual de usuario para la Publicación de Becas a través de la página web institucional

Notificaciones Telemáticas Portal del Ciudadano MANUAL DE USUARIO. Versión 1.2

EL ESCRITORIO DE WINDOWS Y LA BARRA DE TAREAS

Web Biblioteca Complutense 2006: Manual del Gestor de Contenidos. Versión 1.1. Mayo 2006

GUÍA RÁPIDA DE USO. Requisitos tecnológicos para el correcto funcionamiento de Bot PLUS 2.0.

INDICE. Servicios Informáticos. Guía básica del usuario de Symantec Endpoint Protection Windows Página 1 de 11

Manual para instalación de Teléfono Virtual: X Lite.

Hojas de Cálculo Apunte N 3. Fórmulas

MANUAL DE USUARIO DEL VISOR URBANÍSTICO

Carga de Facturas desde hoja Excel

Inicio. En este sitio encontrarás las indicaciones para aprender a crear una wiki en Google Sites.

Acronis Backup & Recovery 10

Manual breve para la incorporación de sesiones de videoconferencia dentro de cursos de Moodle.

65 HORAS. documentos. describe el. información. de la suite. Pág.1

Plataforma de formación. Guía de navegación

BUEN USO DEL CORREO ELECTRÓNICO

Telealta de Abonados. Guía de Telealta en CST BIOINGENIERÍA ARAGONESA S.L. Índice. Vivienda del Abonado. Central de CST

Eurowin 8.0 SQL. Manual de EW-LOG. Revisión de incidencias

SISTEMAS OPERATIVOS. Pág. 1

Cómo escribir el Trabajo Fin

Curso de Access 2007

Tema 4B. Inecuaciones

MINISTERIO DE EDUCACIÓN PÚBLICA IPEC Santa Bárbara de Heredia Software de Aplicación Accesorio Paint

I. INTRODUCCIÓN... 2 II. REQUERIMIENTOS... 2 III. SECCIÓN USUARIOS Objetivo...4. Acceso...4. Consulta de estado de pedimento...

ecompetició Inscripciones Para acceder: > Serveis Fecapa > Intranet ecompetició

Perceptrón Adaline. ( Desarrollado en el entorno Eclipse en el lenguaje JAVA ) Jose Alberto Benítez Andrades A

Trabajo Práctico Redes Neuronales Artificiales

CASO 9187 Se corrige falla que borra el SLA de los casos relacionados entre sí luego de que se ejecute una regla que modifique casos relacionados.

INTRODUCCIÓN A BSCW CFIE VALLADOLID I (Mayo de 2003)

Registro de Autorización Empresa Venta y Asistencia Técnica de Comunidades Autónomas

El agente de software de Dr.Web SaaS

Aspectos básicos (tipos, I/O, aleatoreidad) Juan A. Botía. Tratamiento Inteligente d la Información y Aplicaciones

GUIA REGISTRO USUARIOS PARA CONSULTA REPORTES PAGINA WEB APPUCE

Direccionamiento IP. Realice una tabla como la que se muestra y agregue s. Tome como ejemplo el número

Universidad Interamericana de Puerto Rico, Recinto de Ponce Programa de Distancia. Creado por: Miguel A. Medina

Curso de Excel Con la realización de este curso se pretende capacitar al alumno para poder realizar

Instalación de Winisis en Windows 7 64 bits Ernesto Spinak 28/06/2011, borrador 1.3

PLANIFICACIÓN DBA 1 V. 10G

Guía de integración del módulo de Redsys en WooCommerce

MANUAL DE USUARIO MODELO WEB DESPACHO IDEAL - MODO SIMULACIÓN

Messenger. Novell 1.0 UBICACIÓN DE LA DOCUMENTACIÓN DE NOVELL MESSENGER. INICIO RÁPIDO

Usando su ERP para la gestión de inventarios.

Plataforma de formación. Guía de navegación

Manual de Usuario- Vendedores. Uso del Portal

Manual General de Usuario del Proceso. P36 Recuperación de CFDI de Recibos Timbrados de. Nóminas Extraordinarias

Preguntas Frecuentes de ebanking

PISIS Cliente Neo. Guía de Instalación y Uso Versión del documento: 1.8 Fecha: Octubre 10 de 2014

1.1. Qué entiende por el concepto de generalización de una red neuronal artificial?

AVANCE SOLUCIONES INFORMÁTICAS. Preguntas Frecuentes SGTaller. Cómo respaldo la información del programa?

Función Pago y Cuadro de Amortización

GUÍA PARA LA PRESENTACIÓN DE PONENCIAS.

Gestión de Informes de i-card Loyalty INTRODUCCIÓN. Página1

MANUAL MANUAL. DE MICROSOFT PowerPoint 2007

Bases de Datos Relacionales

Perspectiva de Alto Nivel del Funcionamiento y de las interconexiones del computador

BANCOLOMBIA SUCURSAL VIRTUAL EMPRESAS MANUAL DE USUARIO SERVICIO ALTERNO TRANSACCIONAL

Administración Local Soluciones

DERIVADA DE UNA FUNCIÓN REAL

Pack Comercio Electrónico

Curso PHP Módulo 1 R-Luis

PRÁCTICA 5: REDES LOCALES

dc1500 dc AB425S Manual de instrucciones - Memoria USB

Limpiar la caché en navegadores web

Manual de Usuario APLICACIÓN ENVOICE. Página 1. Manual de Usuario de FACTURACIÓN ELECTRÓNICA Sección Facturas

Guía del usuario: Perfil País Proveedor

Equipos de respaldo de energía eléctrica UPS, SPS

Tendencia tecnológica y tecnología emergente. Yesenia Gutiérrez Bello Juan Rubén Vázquez Sánchez Marco Antonio Galindo Vallejo

Guía buscador de licitaciones MercadoPublico.cl

UD 3: Instalación y administración de servicios de nombres de dominio

CompeGPS Pocket PRO. (Addenda al manual CompeGPS Pocket Land) Manual CompeGPS Pocket PRO. CompeGPS Team S.L.

Importación de facturas desde Excel

MANUAL CONFIGURACIÓN XMEYE DISPOSITIVOS MOVILES ANDROID

Logger registrador de sonido para la pre localización de fugas de agua

Documentación PRINEX

SERVIDOR VIRTUAL IPLAN

Lo que se pretende conseguir es proporcionar información detallada sobre. algunos ejemplos de software diseñados para implementar la Minería de Datos.

Bases de Datos Relacionales

SGNTJ INTCF. Manual de Solicitud de Alta en el Sistema de Relación de Empresas (SRE) del Instituto Nacional de Toxicología y Ciencias Forenses (INTCF)

Implementar dicha interfaz Definir TODOS los métodos incluidos en dicha interfaz

CALCULADORA KERO KET021

1.- ESCRITORIO GNOME 2.- SISTEMA: PREFERENCIAS 3.- SISTEMA: ADMINISTRACIÓN

Manual General de Usuario del Proceso. P35 Recibos Digitales. 1.1 Objetivos 1.2 ROLES 1.3 Flujo 2 Inicio del proceso - Carga de archivos de nómina

Guía SERVICIOS WEB PARA BIBLIOTECAS EN DICCIONARIO. (19 julio 2012)

GUÍA FÁCIL CLAVE Y USUARIO PERSONA JURÍDICA

Proyecto de Innovación Docente: Guía multimedia para la elaboración de un modelo econométrico.

TUTORIAL SOBRE CARGA DE REGISTROS EN KOHA KOBLI. (Importación de registros en MARC 21)

IMPLEMENTACIÓN DE UN PROGRAMA QUE UTILICE LA LLAMADA AL SISTEMA

EOS.lab, Cruces de farmacia y tecnología LED.

LABORATORIO #1 MONITORIZACIÓN DE SERVICIOS DE DATOS CON PRTG NETWORK MONITOR Y ANÁLISIS DE PROTOCOLOS CON WIRESHARK

Capítulo 9. Archivos de sintaxis

Cómo tomar ebooks en préstamo

Transcripción:

R para Principiantes Emmanuel Paradis Institut des Sciences de l Évlutin Universit Mntpellier II F-34095 Mntpellier cdex 05 France E-mail: paradis@isem.univ-mntp2.fr traducid pr Jrge A. Ahumada RCUH/ University f Hawaii & USGS/ Natinal Wildlife Health Center E-mail: jahumada@usgs.gv

Quier agradecerle a Julien Claude, Christphe Declercq, Éldie Gazave, Friedrich Leisch y Mathieu Rs pr sus cmentaris y sugerencias en versines anterires de este dcument. También esty muy agradecid cn ls miembrs del grup nuclear de prgramadres de R pr sus esfuerzs cnsiderables en el desarrll de R y su ánim en la lista de discusión rhelp. Gracias a tds ls usuaris de R cuyas preguntas y cmentaris me ayudarn a escribir R para prinicpiantes. c 2002, Emmanuel Paradis (3 de marz de 2003) 1

Índice 1. Prólg 3 2. Alguns cncepts antes de cmenzar 4 2.1. Cóm funcina R.................................. 4 2.2. Creación, listad y remción de bjets en memria................ 6 2.3. La ayuda en línea.................................. 7 3. Manejand Dats cn R 9 3.1. Objets....................................... 9 3.2. Leyend dats desde un archiv.......................... 10 3.3. Guardand dats.................................. 13 3.4. Generación de dats................................. 14 3.4.1. Secuencias regulares............................ 14 3.4.2. Secuencias aleatrias............................ 16 3.5. Manipulación de bjets.............................. 17 3.5.1. Creación de bjets............................. 17 3.5.2. Cnversión de bjets........................... 21 3.5.3. Operadres................................. 22 3.5.4. Cóm acceder ls valres de un bjet: el sistema de indexación..... 23 3.5.5. Accediend a ls valres de un bjet cn nmbres............ 25 3.5.6. El editr de dats.............................. 25 3.5.7. Funcines aritméticas simples....................... 25 3.5.8. Cálculs cn Matrices........................... 27 4. Haciend gráficas en R 29 4.1. Manej de gráfics................................. 29 4.1.1. Abriend múltiples dispsitivs gráfics.................. 29 4.1.2. Dispsición de una gráfica......................... 30 4.2. Funcines gráficas................................. 32 4.3. Cmands de graficación de baj nivel....................... 33 4.4. Parámetrs gráfics................................. 35 4.5. Un ejempl práctic................................. 36 4.6. Ls paquetes grid y lattice............................. 40 5. Análisis estadístics cn R 46 5.1. Un ejempl simple de análisis de varianza..................... 46 5.2. Fórmulas...................................... 48 5.3. Funcines genéricas................................. 49 5.4. Paquetes....................................... 52 6. Prgramación práctica cn R 54 6.1. Bucles y Vectrización............................... 54 6.2. Escribiend un prgrama en R........................... 56 6.3. Creand sus prpias funcines........................... 57 7. Literatura adicinal sbre R 59 2

1. Prólg El bjetiv de este dcument es prprcinar un punt de partida para persnas interesadas en cmenzar a utilzar R. He escgid hacer énfasis en el funcinamient de R, cn el bjet de que se pueda usar de una manera básica. Dad que R frece una amplia gama de psibilidades, es útil para el principiante adquirir algunas ncines y cncepts y asi avanzar prgresivamente. He tratad de simplificar las explicacines al máxim para hacerlas l más cmprensivas psibles, per al mism tiemp prprcinand detalles útiles, algunas veces cn la ayuda de tablas. R es un sistema para ánalisis estadístics y gráfics cread pr Rss Ihaka y Rbert Gentleman 1. R tiene una naturaleza dble de prgrama y lenguaje de prgramación y es cnsiderad cm un dialect del lenguaje S cread pr ls Labratris AT&T Bell. S está dispnible cm el prgrama S-PLUS cmercializad pr Insightful 2. Existen diferencias imprtantes en el diseñ de R y S: aquells interesads en averiguar más sbre este tema pueden leer el artícul publicad pr Ihaka & Gentleman (1996) las Preguntas Más Frecuentes en R 3, que también se distribuyen cn el prgrama. R se distribuye gratuitamente baj ls términs de la GNU General Public Licence 4 ; su desarrll y distribución sn llevads a cab pr varis estadístics cncids cm el Grup Nuclear de Desarrll de R. R está dispnible en varias frmas: el códig fuente escrit principalmente en C (y algunas rutinas en Frtran), esencialmente para máquinas Unix y Linux, cm archivs binaris precmpilads para Windws, Linux (Debian, Mandrake, RedHat, SuSe), Macintsh y Alpha Unix. Ls archivs necesaris para instalar R, ya sea desde las fuentes binaris pre-cmpilads, se distribuyen desde el siti de internet Cmprehensive R Archive Netwrk (CRAN) 5 junt cn las instruccines de instalación. Para las diferentes distribucines de Linux (Debian,... ), ls binaris están dispnibles generalmente para las versines más actualizadas de éstas y de R; visite el siti CRAN si es necesari. R psee muchas funcines para análisis estadístics y gráfics; ests últims pueden ser visualizads de manera inmediata en su prpia ventana y ser guardads en varis frmats (jpg, png, bmp, ps, pdf, emf, pictex, xfig; ls frmats dispnibles dependen del sistema perativ). Ls resultads de análisis estadístics se muestran en la pantalla, y alguns resultads intermedis (cm valres P-, ceficientes de regresión, residuales,... ) se pueden guardar, exprtar a un archiv, ser utilizads en análisis psterires. El lenguaje R permite al usuari, pr ejempl, prgramar bucles ( lps en inglés) para analizar cnjunts sucesivs de dats. También es psible cmbinar en un sl prgrama diferentes funcines estadísticas para realizar análisis más cmplejs. Usuaris de R tienen a su dispnibilidad un gran númer de prgramas escrits para S y dispnibles en la red; 6 la mayría de ests pueden ser utilzads directamente cn R. Al principi, R puede parecer demasiad cmplej para el n-especialista. Est n es ciert necesariamente. De hech, una de las características más sbresalientes de R es su enrme flexibilidad. Mientras que prgramas más clásics muestran directamente ls resultads de un análisis, R guarda ests resultads cm un bjet, de tal manera que se puede hacer un análisis sin necesidad de mstrar su resultad inmediatamente. Est puede ser un pc extrañ para el usuari, per esta característica suele ser muy útil. De hech, el usuari puede extraer sl aquella parte de ls resultads que le interesa. Pr ejempl, si un crre una serie de 20 regresines y quiere 1 Ihaka R. & Gentleman R. 1996. R: a language fr data analysis and graphics. Jurnal f Cmputatinal and Graphical Statistics 5: 299 314. 2 véase http://www.insightful.cm/prducts/splus/default.html para más infrmación 3 http://cran.r-prject.rg/dc/faq/r-faq.html 4 para mayr infrmación: http://www.gnu.rg/ 5 http://cran.r-prject.rg/ 6 pr ejempl: http://stat.cmu.edu/s/ 3

teclad ratón cmands funcines y peradres.../library/base/ /ctest/... librería de funcines pantalla dats bjets 3 resultads bjets PS JPEG... dats archivs internet Memria activa Disc dur Figura 1: Una visión esquemática del funcinamient de R. cmparar ls ceficientes de regresión, R le puede mstrar únicamente ls ceficientes estimads: de esta manera ls resultads se pueden resumir en una sla línea, mientras que un prgrama clásic le puede abrir 20 ventanas de resultads. Más adelante, verems trs ejempls que ilustran y cmparan la flexibilidad de R cn prgramas de estadística más tradicinales. 2. Alguns cncepts antes de cmenzar Una vez instale R en su cmputadr, el prgrama se puede iniciar crriend el archiv ejecutable crrespndiente. El cursr, que pr defect es el símbl >, indica que R está list para recibir un cmand. En Windws, alguns cmands pueden ser ejecutads a través de ls menus interactivs (pr ej. buscar ayuda en línea, abrir archivs,... ). En este punt, un nuev usuari de R prbablemente estará pensand Y ahra que hag?. De hech, cuand se utiliza R pr primera vez, es muy útil tener una idea general de cm funcina y es es precisamente l que vams a hacer ahra. Cm primera medida, verems brevemente cm funcina R. Psterirmente, describiré el peradr asignar el cual permite crear bjets en R, mirarems cm manejar ests bjets en memria, y finalmente verems cóm usar la ayuda en línea, la cual a diferencia de las ayudas en trs prgramas estadístics, es bastante útil e intuituva. 2.1. Cóm funcina R R es un lenguaje Orientad a Objets: baj este cmplej términ se escnde la simplicidad y flexibilidad de R. El hech que R es un lenguaje de prgramación puede desaminar a muchs usuaris que piensan que n tienen alma de prgramadres. Est n es necesariamente ciert pr ds raznes. Primer R es un lenguaje interpretad (cm Java) y n cmpilad (cm C, C++, Frtran, Pascal,... ), l cual significa que ls cmands escrits en el teclad sn ejecutads directamente sin necesidad de cnstruir ejecutables. Cm segunda medida, la sintáxis de R es muy simple e intuitiva. Pr ejempl, una regresión lineal se puede ejecutar cn el cmand lm(y x). Para que una función sea ejecutada en R debe estar siempre acmpañada de paréntesis, inclusive en el cas que n haya nada dentr de ls misms (pr ej., ls()). Si se escribe el nmbre de la función sin ls paréntesis, R mstrará el cntenid (códig) mism de la función. En este dcument, se escribirán ls nmbres de las funcines cn paréntesis para distinguirlas de trs bjets, a mens que se indique l cntrari en el text. 4

Orientad a Objets significa que las variables, dats, funcines, resultads, etc., se guardan en la memria activa del cmputadr en frma de bjets cn un nmbre específic. El usuari puede mdificar manipular ests bjets cn peradres (aritmétics, lógics, y cmparativs) y funcines (que a su vez sn bjets). El us y funcinamient de ls peradres es relativamente intuitiv, y verems ls detalles más adelante (p. 22). Una función en R se puede delinear de la siguiente manera: arguments pcines función arguments pr defect = resultad Ls arguments pueden ser bjets ( dats, fórmulas, expresines,... ), alguns de ls cuales pueden ser definids pr defect en la función; sin embarg ests arguments pueden ser mdificads pr el usuari cn pcines. Una función en R puede carecer ttalmente de arguments, ya sea prque tds están definids pr defect (y sus valres mdificads cn pcines), prque la función realmente n tiene arguments. Verems más tarde en detalle cm usar y cnstruir funcines (p. 57). Pr ahra esta crta descripción es suficiente para entender el funcinamient básic de R. Tdas las accines en R se realizan cn bjets que sn guardads en la memria activa del rdenadr, sin usar archivs temprales (Fig. 1). La lectura y escritura de archivs sl se realiza para la entrada y salida de dats y resultads (gráficas,... ). El usuari ejecuta las funcines cn la ayuda de cmands definids. Ls resultads se pueden visualizar directamente en la pantalla, guardar en un bjet escribir directamente en el disc (particularmente para gráfics). Debid a que ls resultads misms sn bjets, pueden ser cnsiderads cm dats y analizads cm tal. Archivs que cntengan dats pueden ser leids directamente desde el disc lcal en un servid remt a través de la red. Las funcines dispnibles están guardadas en una librería lcalizada en el directri R HOME/library (R HOME es el directri dnde R está instalad). Este directri cntiene paquetes de funcines, las cuales a su vez están estructuradas en directris. El paquete denminad base cnstituye el núcle de R y cntiene las funcines básicas del lenguaje para leer y manipular dats, algunas funcines gráficas y algunas funcines estadísticas (regresión lineal y análisis de varianza). Cada paquete cntiene un directri denminad R cn un archiv cn el mism nmbre del paquete (pr ejempl, para el paquete base, existe el archiv R HOME/library/base/R/base). Este archiv está en frmat ASCII y cntiene tdas las funcines del paquete. El cmand más simple es escribir el nmbre de un bjet para visualizar su cntenid. Pr ejempl, si un bjet n cntiene el valr 10: > n [1] 10 El dígit 1 indica que la visualización del bjet cmienza cn el primer elementp de n. Este cmand cnstituye un us implicit de la función print, y el ejempl anterir es similar a print(n) (en algunas situacines la función print debe ser usada explicitamente, cm pr ejempl dentr de una función un bucle). El nmbre de un bjet debe cmenzar cn una letra (A-Z and a-z) y puede incluir letras, dígits (0-9), y punts (.). R discrimina entre letras mayúsculas y minúsculas para el nmbre de un bjet, de tal manera que x y X se refiere a bjets diferentes (inclusive baj Windws). 5

2.2. Creación, listad y remción de bjets en memria Un bjet puede ser cread cn el peradr assignar el cual se denta cm una flecha cn el sign mens y el símbl > < dependiend de la dirección en que asigna el bjet: > n <- 15 > n [1] 15 > 5 -> n > n [1] 5 > x <- 1 > X <- 10 > x [1] 1 > X [1] 10 Si el bjet ya existe, su valr anterir es brrad después de la asignación (la mdificación afecta sl bjets en memria, n a ls dats en el disc). El valr asignad de esta manera puede ser el resultad de una peración y/ de una función: > n <- 10 + 2 > n [1] 12 > n <- 3 + rnrm(1) > n [1] 2.208807 La función rnrm(1) genera un dat al azar muestrad de una distribución nrmal cn media 0 y varianza 1 (p. 16). Nte que se puede escribir una expresión sin asignar su valr a un bjet; en este cas el resultad será visible en la pantalla per n será guardad en memria: > (10 + 2) * 5 [1] 60 La asignación será mitida de ls ejempls si n es necesaria para la cmprensión del mism. La función ls simplemente lista ls bjets en memria: sól se muestran ls nmbres de ls misms. > name <- "Carmen"; n1 <- 10; n2 <- 100; m <- 0.5 > ls() [1] "m" "n1" "n2" "name" Nte el us del punt y cma para separar cmands diferentes en la misma línea. Si se quiere listar sl aquells bjets que cntengan un caracter en particular, se puede usar la pción pattern (que se puede abreviar cm pat): > ls(pat = "m") [1] "m" "name" Para restringir la lista a aquells bjets que cmienzan cn este caracter: 6

> ls(pat = "ˆm") [1] "m" La función ls.str() muestra alguns detalles de ls bjets en memria: > ls.str() m : num 0.5 n1 : num 10 n2 : num 100 name : chr "Carmen" La pción pattern se puede usar de la misma manera cn ls.str(). Otra pción útil en esta función es max.level la cual especifica el nivel de detalle para la visualización de bjets cmpuests. Pr defect, ls.str() muestra tds ls detalles de ls bjets en memria, incluyend las clumnas de ls marcs de dats ( data frames ), matrices y listas, l cual puede generar una gran cantidad de infrmación. Pdems evitar mstrar tds ests detalles cn la pción max.level = -1: > M <- data.frame(n1, n2, m) > ls.str(pat = "M") M : data.frame : 1 bs. f 3 variables: $ n1: num 10 $ n2: num 100 $ m : num 0.5 > ls.str(pat="m", max.level=-1) M : data.frame : 1 bs. f 3 variables: Para brrar bjets en memria, utilizams la función rm(): rm(x) elimina el bjet x, rm(x,y) elimina ambs bjets x y y, y rm(list=ls()) elimina tds ls bjets en memria; las mismas pcines mencinadas para la función ls() se pueden usar para brrar selectivamente alguns bjets: rm(list=ls(pat="ˆm")). 2.3. La ayuda en línea La ayuda en línea de R prprcina infrmación muy útil de cóm utilizar las funcines. La ayuda se encuentra dispnible directamente para una función dada. Pr ejempl: >?lm mstrará dentr de R, ayuda para la función lm() (mdel lineal). El cmand help(lm) help("lm") tiene el mism efect. Esta última función se debe usar para acceder a la ayuda cn caracteres n-cnvencinales: >?* Errr: syntax errr > help("*") Arithmetic package:base R Dcumentatin Arithmetic Operatrs... 7

Al llamar la ayuda, se abre una ventana página (est depende del sistema perativ) cn infrmación general sbre la función en la primera línea, tal cm el nmbre del paquete dnde se encuentra la función u peradr. Después viene el títul, seguid de seccines cn infrmación específica acerca de la misma. Descriptin: descripción breve. Usage: para una función, prprcina el nmbre de la misma cn tds sus arguments y ls psibles valres pr defect (pcines); para un peradr describe su us típic. Arguments: para una función, describe en detalle cada un de sus arguments. Details: descripción detallada. Value: si se aplica, el tip de bjet retrnad pr la función el peradr. See Als: tras páginas de ayuda cn funcines u peradres similares. Examples: alguns ejempls que generalmente pueden ser ejecutads sin abrir la ayuda cn la función examples(). Para aquells que hasta ahra están cmenzand en R, es muy útil estudiar la sección Examples:. También es útil leer cuidadsamente la sección Arguments:. Otras seccines que pueden estar presentes sn Nte: (ntas adicinales), References: (bibligrafía que puede ser útil) Authr(s): (nmbre del autr autres). Pr defect, la función help sól busca en ls paquetes que están cargads en memria. La pción try.all.packages, que pr defect tiene el valr FALSE (fals), permite buscar en tds ls paquetes dispnibles si su valr se cambia a TRUE (verdader): > help("bs") Errr in help("bs") : N dcumentatin fr bs in specified packages and libraries: yu culd try help.search("bs") > help("bs", try.all.packages=true) tpic bs is nt in any laded package but can be fund in package splines in library D:/rw1041/library Para ver la ayuda en frmat html (pr ejempl a través de Netscape) escriba el cmand: > help.start() Cn esta ayuda en html es psible realizar búsquedas usand palabras clave. La sección See Als: cntiene referencias en hipertext a tras páginas de ayuda. También se pueden realizar búsquedas pr palabra clave cn la función help.search per est está aún en estad experimental (versión 1.5.0 de R). La función aprps encuentra tdas aquellas funcines cuy nmbre cntiene la palabra dada cm argument para ls paquetes cargads en memria: > aprps(help) [1] "help" "help.search" "help.start" [4] "link.html.help" 8

3. Manejand Dats cn R 3.1. Objets Hems vist que R trabaja cn bjets ls cuales tienen nmbre y cntenid, per también atributs que especifican el tip de dats representads pr el bjet. Para entender la utilidad de ests atributs, cnsiderems una variable que tma ls valres 1, 2, 3: tal variable pdría ser un númer enter (pr ejempl, el númer de huevs en un nid), el códig de una variable categórica (pr ejempl, el sex de ls individus en una pblación de crustáces: mach, hembra, hermafrdita). Es clar que ls resultads de un análisis estadístic de esta variable n será el mism en ambs cass: cn R, ls atributs del bjet prprcinan la infrmación necesaria. En general, y habland un pc más técnicamente, la acción de una función sbre un bjet depende de ls atributs de este últim. Td bjet tiene ds atributs intrínsecs: tip y lngitud. El tip se refiere a la clase básica de ls elements en el bjet; existen cuatr tips principales: numéric, caracter, cmplej 7, y lógic (FALSE [Fals] r TRUE [Verdader]). Existen trs tips, per n representan dats cm tal (pr ejempl funcines expresines). La lngitud es simplemente el númer de elements en el bjet. Para ver el tip y la lngitud de un bjet se pueden usar las funcines mde y length, respectivamente: > x <- 1 > mde(x) [1] "numeric" > length(x) [1] 1 > A <- "Gmphtherium"; cmpar <- TRUE; z <- 1i > mde(a); mde(cmpar); mde(z) [1] "character" [1] "lgical" [1] "cmplex" Cuand un dat n está dispnible se representa cm NA (del inglés nt available ) independientemente del tip del dat. Dats numérics que sn muy grandes se pueden expresar en ntación expnencial: > N <- 2.1e23 > N [1] 2.1e+23 R representa crrectamente valres numérics n-finits cm ± cn Inf y -Inf, valres que n sn numérics cn NaN (del inglés nt a number ). > x <- 5/0 > x [1] Inf > exp(x) [1] Inf > exp(-x) [1] 0 7 El tip cmplej n será muy mencinad en este dcument. 9

> x - x [1] NaN Variables que necesitan ser representadas cm caracteres se delimitan cn cmillas ". Es psible incluir la cmilla misma dentr de la variable si está precedida pr el símbl \. Ls ds caracteres junts \" pueden ser usads pr funcines cm cat para visualización en pantalla, write.table para escritura en archivs (p. 13, véase la pción qmethd de esta función). > cit <- "Ella dij: \"Las cmillas se pueden incluir en texts en R.\"" > cit [1] "Ella dij: \"Las cmillas se pueden incluir en texts en R.\"" > cat(cit) Ella dij: "Las cmillas se pueden incluir en texts en R." La siguiente tabla resume ls tips de bjets y ls dats que representan. bjet tips varis tips psibles en el mism bjet? vectr numéric, caracter, cmplej lógic N factr numéric caracter N arregl numéric, caracter, cmplej lógic N matriz numéric, caracter, cmplej lógic N data.frame numéric, caracter, cmplej lógic Si ts numéric, caracter, cmplej lógic Si lista numéric, caracter, cmplej, lógic Si función, expresión,... Un vectr es una variable en el significad cmunmente asumid. Un factr es una variable categórica. Un arregl es una tabla de dimensión k, y una matriz es un cas particular de un arregl dnde k = 2. Nte que ls elements en un arregl una matriz sn del mism tip. Un data.frame (marc base de dats) es una tabla cmpuesta de un más vectres y/ factres de la misma lngitud per que pueden ser de diferentes tips. Un ts es una serie tempral y cm tal cntiene atributs adicinales tales cm frecuencia y fechas. Finalmente, una lista puede cntener cualquier tip de bjet incluyend tras listas! Para un vectr, su tip y lngitud sn suficientes para describirl. Para trs bjets es necesari usar infrmación adicinal que es prprcinada pr atributs n-intrínsecs. Dentr de ests atributs se encuentran pr ejempl dim, que crrespnde a las dimensines del bjet. Pr ejempl, una matriz cn 2 filas y 2 clumnas tiene cm dim la pareja de valres [2, 2], per su lngitud es 4. 3.2. Leyend dats desde un archiv R utiliza el directri de trabaj para leer y escribir archivs. Para saber cual es este directri puede utilizar el cmand getwd() (get wrking directry) Para cambiar el directri de trabaj, se utiliza la fucnión setwd(); pr ejempl, setwd( C:/data ) setwd( /hme/paradis/r ). Es necesari prprcinar la dirección ( path ) cmpleta del archiv si este n se encuentra en el directri de trabaj. 8 8 En Windws, es útil crear un alias de Rgui.exe, editar sus prpiedades, y cambiar el directri en el camp Cmenzar en: baj la lengueta Alias : este directri será entnces el nuev directri de trabaj cuand R se ejecuta usand el alias. 10

R puede leer dats guardads cm archivs de text (ASCII) cn las siguientes funcines: read.table (cn sus variantes, ver abaj), scan y read.fwf. R también puede leer archivs en trs frmats (Excel, SAS, SPSS,... ), y acceder a bases de dats tip SQL, per las funcines necesarias n están incluidas en el paquete base. Aunque esta funcinalidad es muy útil para el usuari avanzad, ns restringirems a describir las funcines para leer archivs en frmat ASCII únicamente. La función read.table crea un marc de dats ( data frame ) y cnstituye la manera más usual de leer dats en frma tabular. Pr ejempl si tenems un archiv de nmbre data.dat, el cmand: > misdats <- read.table("data.dat") creará un marc de dats denminad misdats, y cada variable recibirá pr defect el nmbre V1, V2,... y puede ser accedida individualmente escribiend misdats$v1, misdats$v2,..., escribiend misdats["v1"], misdats["v2"],...,, también escribiend misdats[, 1], misdats[,2 ],... 9 Existen varias pcines cn valres pr defect (aquells usads pr R si sn mitids pr el usuari) que se detallan en la siguiente tabla: read.table(file, header = FALSE, sep = "", qute = "\" ", dec = ".", rw.names, cl.names, as.is = FALSE, na.strings = "NA", clclasses = NA, nrws = -1, skip = 0, check.names = TRUE, fill =!blank.lines.skip, strip.white = FALSE, blank.lines.skip = TRUE, cmment.char = "#") file el nmbre del archiv (entre cm una variable de tip caracter), psiblemente cn su dirección si se encuentra en un directri diferente al de trabaj (el símbl \n es permitid y debe reemplazarse cn /, inclusive en Windws), una dirección remta al archiv tip URL (http://...) header una variable lógica (FALSE (fals) TRUE (verdader)) indicand si el archiv cntiene el nmbre de las variables en la primera fila línea sep el separadr de camp usad en el archiv; pr ejempl sep="\t" si es una tabulación qute ls caracteres usads para citar las variables en md caracter dec el caracter usad para representar el punt decimal rw.names un vectr cn ls nmbres de las líneas de tip caracter numéric (pr defect: 1, 2, 3,... ) cl.names un vectr cn ls nmbres de las variables (pr defect: V1, V2, V3,... ) as.is cntrla la cnversión de variables tip caracter a factres (si es FALSE) las mantiene cm caracteres (TRUE); as.is puede ser un vectr lógic numéric que especifique las variables que se deben mantener cm caracteres na.strings el valr cn el que se cdifican dats ausentes (cnvertid a NA) clclasses un vectr de caracteres que prprcina clases para las clumnas nrws el númer máxim de líneas a leer (se ignran valres negativs) skip el númer de líneas ignradas antes de leer ls dats check.names si es TRUE, chequea que el nmbre de las variables sea válid para R fill si es TRUE y tdas las filas n tienen el mism númer de variables, agrega blancs strip.white (cndicinal a sep) si es TRUE, brra espacis extra antes y despues de variables tip caracter blank.lines.skip si es TRUE, ignra líneas en blanc cmment.char un caracter que define cmentaris en el archiv de dats; líneas que cmienzen cn este caracter sn ignradas en la lectura (para desactivar este argument utilize cmment.char = ) 9 Existe una diferencia: misdats$v1 y misdats[, 1] sn vectres mientras que misdats["v1"] es un marc de dats. Mas adelante verems alguns detalles acerca de la manipulación de bjets (p. 17) 11

Las variantes de read.table sn útiles ya que vienen cn diferentes pcines pr defect: read.csv(file, header = TRUE, sep = ",", qute="\"", dec=".", fill = TRUE,...) read.csv2(file, header = TRUE, sep = ";", qute="\"", dec=",", fill = TRUE,...) read.delim(file, header = TRUE, sep = "\t", qute="\"", dec=".", fill = TRUE,...) read.delim2(file, header = TRUE, sep = "\t", qute="\"", dec=",", fill = TRUE,...) La función scan es más flexible que read.table. A diferencia de esta última es psible especificar el md de las variables: > misdats <- scan("data.dat", what = list("", 0, 0)) En este ejempl scan lee tres variables del archiv data.dat; el primer es un caracter y ls siguientes ds sn numérics. Otra distinción imprtante es la capacidad de scan() de crear diferentes bjets cm vectres, matrices, marcs de dats, listas,... En el ejempl anterir, misdats es una lista de tres vectres. Pr defect, es decir si se mite el argument what, scan() crea un vectr numéric. Si ls dats leids n crrespnden al md ( mds) esperad (s) (ya sea pr defect especificad a través de what), se genera un mensaje de errr. Las pcines sn las siguientes: scan(file = "", what = duble(0), nmax = -1, n = -1, sep = "", qute = if (sep=="\n") "" else " \"", dec = ".", skip = 0, nlines = 0, na.strings = "NA", flush = FALSE, fill = FALSE, strip.white = FALSE, quiet = FALSE, blank.lines.skip = TRUE, multi.line = TRUE, cmment.char = "#") 12

file what nmax n sep qute dec skip nlines na.string flush fill strip.white quiet blank.lines.skip multi.line cmment.char el nmbre del archiv(entre ), psiblemente incluyend la dirección cmpleta (el símbl \n es permitid y debe ser reemplazad pr /, inclusive baj Windws), acces remt del tipurl (http://...); si file=, ls dats deben ser intrducids desde el teclad (la entrada se termina cn una línea en blanc) especifica el tip (s) de ls dats (numéric pr defect) el númer máxim de dats a ser leid, si what es una lista, el númer de líneas pr leer (pr defect, scan lee ls dats hasta que encuentra el final del archiv) el númer de dats pr leer (pr defect n hay limite) el separadr de camps usad en el archiv ls caracteres usads para citar las variables de tip caracter el caracter usad para el punt decimal el númer de líneas ignrad antes de empezar a leer dats el númer de líneas a leer el valr asignad a dats ausentes (cnvertid a NA) si es TRUE, scan va a la siguiente línea una vez se han leid tdas las clumnas (el usuari puede agregar cmentaris en el archiv de dats) agrega blancs si es TRUE y tdas las líneas n tienen el mism númer de variables (cndicinal a sep) si es TRUE, elimina espacis extras antes y despues de variables de tip caracter si es FALSE, scan muestra una línea indicand ls camps que han sid leids si es TRUE, ignra líneas en blanc si what es una lista, especifica si las variables de un mism individu están en una sla línea en el archiv (FALSE) un caracter que define cmentaris en el archiv; aquellas líneas que cmiencen cn este caracter sn ignradas La función read.fwf puede usarse para leer dats en archivs en frmat fij anch: read.fwf(file, widths, sep="\t", as.is = FALSE, skip = 0, rw.names, cl.names, n = -1) Las pcines sn las mismas que para read.table() cn excepción de widths que especifica la anchura de ls camps. Pr ejempl, si un archiv de nmbre dats.txt tiene ls dats mstrads a la derecha, est se puede leer cn el cmand: > misdats <- read.fwf("dats.txt", widths=c(1, 4, 3)) > misdats V1 V2 V3 1 A 1.50 1.2 2 A 1.55 1.3 3 B 1.60 1.4 4 B 1.65 1.5 5 C 1.70 1.6 6 C 1.75 1.7 3.3. Guardand dats A1.501.2 A1.551.3 B1.601.4 B1.651.5 C1.701.6 C1.751.7 La función write.table guarda el cntenid de un bjet en un archiv. El bjet es típicamente un marc de dats ( data.frame ), per puede ser cualquier tr tip de bjet (vectr, matriz,... ). Ls arguments y pcines sn: write.table(x, file = "", append = FALSE, qute = TRUE, sep = " ", el = "\n", na = "NA", dec = ".", rw.names = TRUE, cl.names = TRUE, qmethd = c("escape", "duble")) 13

x file append qute sep el na dec rw.names cl.names qmethd el nmbre del bjet a exprtar el nmbre del archiv (pr defect, el bjet se muestra en la pantalla) si es TRUE anexa ls dats al archiv sin brrar dats ya existentes en el mism lógic numéric : si es TRUE variables de tip caracter y factres se escriben entre ; si es un vectr numéric, este indica el númer de las variables a ser es mstradas entre (en ambs cass ls nmbres de las variables se escriben entre per n si qute = FALSE) el separadr de camp utilizad en el archiv el caracter que indica el final de línea ("\n" es retrn ) el caracter a usarse para dats faltantes el caracter usad para el punt decimal una pción lógica que indica si ls nmbres de las líneas se escriben en el archiv identificación para ls nmbres de las clumnas si es qute=true, especifica la manera cm se debe tratar las cmillas dbles en variables tip caracter: si es escape ( e, pr defect) cada es reemplazada pr \; si es dçada es reemplazada pr Una manera sencilla de escribir ls cntenids de un bjet en un archiv es utilizand el cmand write(x, file="data.txt"), dnde x es el nmbre del bjet (que puede ser un vectr, una matrix, un arregl). Esta función tiene ds pcines: nc ( ncl) que define el númer de clumnas en el archiv (pr defect nc=1 si x es de tip caracter, nc=5 para trs tips), y append (lógic) que agrega ls dats al archiv sin brrar dats ya existentes (TRUE) brra cualquier dat que existe en el archiv (FALSE, pr defect). Para guardar un grup de bjets de cualquier tip se puede usar el cmand save(x, y, z, file= "xyz.rdata"). Para facilitar la transferencia de dats entre diferentes máquinas se pueden utilizar la pción ascii = TRUE. Ls dats (denminads ahra cm un wrkspace espaci de trabaj en terminlgía de R) se pueden cargar en memria más tarde cn el cmand lad("xyz.rdata"). La función save.image() es una manera crta del cmand save(list=ls(all=true), file=".rdata") (guarda tds ls bjets en memria en el archiv.rdata). 3.4. Generación de dats 3.4.1. Secuencias regulares Una secuencia regular de númers enters, pr ejempl de 1 hasta 30, se puede generar cn: > x <- 1:30 El vectr resultante x tiene 30 elements. El peradr : tiene priridad sbre trs peradres aritmétics en una expresión: > 1:10-1 [1] 0 1 2 3 4 5 6 7 8 9 > 1:(10-1) [1] 1 2 3 4 5 6 7 8 9 La función seq puede generar secuencias de númers reales: > seq(1, 5, 0.5) [1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 dnde el primer númer indica el principi de la secuencia, el segund el final y el tercer el increment que se debe usar para generar la secuencia. También se puede usar: 14

> seq(length=9, frm=1, t=5) [1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 También se pueden escribir ls valres directamente usand la función c: > c(1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5) [1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 Si se quiere, también es psible intrducir dats directamente desde el teclad usand la función scan sin pcines: > z <- scan() 1: 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 10: Read 9 items > z [1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 La función rep crea un vectr cn elements idéntics: > rep(1, 30) [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 La función sequence crea una serie de secuencias de númers enters dnde cada secuencia termina en el númer ( númers) especificad (s) cm argument (s): > sequence(4:5) [1] 1 2 3 4 1 2 3 4 5 > sequence(c(10,5)) [1] 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 La función gl (generadr de niveles) es muy útil prque genera series regulares de factres. La función tiene la frma gl(k, n) dnde k es el númer de niveles ( clases), y n es el númer de réplicas en cada nivel. Se pueden usar ds pcines: length para especificar el númer de dats prducids, y labels para especificar ls nmbres de ls factres. Ejempls: > gl(3, 5) [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 Levels: 1 2 3 > gl(3, 5, length=30) [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 Levels: 1 2 3 > gl(2, 6, label=c("mach", "Hembra")) [1] Mach Mach Mach Mach Mach Mach [7] Hembra Hembra Hembra Hembra Hembra Hembra Levels: Mach Hembra > gl(2, 10) [1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 Levels: 1 2 > gl(2, 1, length=20) [1] 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 Levels: 1 2 > gl(2, 2, length=20) [1] 1 1 2 2 1 1 2 2 1 1 2 2 1 1 2 2 1 1 2 2 Levels: 1 2 15

Finalmente, expand.grid() crea un marc de dats cn tdas las cmbinacines de vectres factres prprcinads cm arguments: > expand.grid(a=c(60,80), p=c(100, 300), sex=c("mach", "Hembra")) a p sex 1 60 100 Male 2 80 100 Male 3 60 300 Male 4 80 300 Male 5 60 100 Female 6 80 100 Female 7 60 300 Female 8 80 300 Female Distribución/función función Gausse (nrmal) rnrm(n, mean=0, sd=1) expnencial rexp(n, rate=1) gamma rgamma(n, shape, scale=1) Pissn rpis(n, lambda) Weibull rweibull(n, shape, scale=1) Cauchy rcauchy(n, lcatin=0, scale=1) beta rbeta(n, shape1, shape2) Student (t) rt(n, df) Fisher Snedecr (F) rf(n, df1, df2) Pearsn (χ 2 ) rchisq(n, df) binmial rbinm(n, size, prb) gemétrica rgem(n, prb) hypergemétrica rhyper(nn, m, n, k) lgística rlgis(n, lcatin=0, scale=1) lgnrmal rlnrm(n, meanlg=0, sdlg=1) binmial negativa rnbinm(n, size, prb) unifrme runif(n, min=0, max=1) Estadístic de Wilcxn s rwilcx(nn, m, n), rsignrank(nn, n) 3.4.2. Secuencias aleatrias La psibilidad de generar dats aleatris es bastante útil en estadśtica y R tiene la capacidad de hacer est para un gran númer de funcines y distribucines. Estas funcines sn de la frma rfunc(n, p1, p2,...), dnde func indica la disribución, n es el númer de dats generad, y p1, p2,... sn valres que tman ls parámetrs de la distribución. La tabla anterir muestra ls detalles de cada distribución, y ls psibles valres pr defect de ls parámetrs (si n se indica, significa que el parámetr debe ser especificad pr el usuari). Tdas estas funcines se pueden usar reemplazand la letra r cn las letras d, p q para btener, la densidad de prbabilidad (dfunc(x,...)), la densidad de prbabilidad acumulada (pfunc(x,...)), y el valr del cuartil (qfunc(p,...), cn 0 < p < 1) respectivamente. 16

3.5. Manipulación de bjets 3.5.1. Creación de bjets En las seccines anterires vims diferentes maneras de crear bjets usand el peradr de asignación; el tip y clase de ls bjets así creads se determina generalmente de manera implícita. Es psible, sin embarg, generar un bjet especificand su clase, tip, lngitud, etc. Esta aprximación es interesante desde el punt de vista de la manipulación de bjets. Pr ejempl, se puede crear un bjet vací y mdificar de manera sucesiva sus elements; est puede ser más eficiente que clcar tds ls elements junts usand c(). El sistema de indexad se puede usar en estas circunstancias, cm verems más adelante (p. 23). También puede ser bastante cnveniente crear nuevs bjets a partir de bjets ya existentes. Pr ejempl, si se quiere ajustar una serie de mdels, es fácil clcar las fórmulas en una lista, y despues extraer sucesivamente ls elements para insertarls en una función lm. En esta etapa de nuestr aprendizaje de R, la utilidad de aprender las siguientes funcines n es sl práctica sin didáctica. La cnstrucción explícita de un bjet ns prprcina un mejr entendimient de su estructura, y ns permite ahndar en algunas ncines mencinadas previamente. Vectr. La función vectr, que tiene ds arguments mde y length, crea un vectr cuys elements pueden ser de tip numéric, lógic caracter dependiend del argument especificad en mde (0, FALSE respectivamente). Las siguientes funcines tienen exactamente el mism efect y tienen un sl argument (la lngitud del vectr): numeric(), lgical(), y character(). Factr. Un factr incluye n sl ls valres crrespndientes a una variable categórica, per también ls diferentes niveles psibles de esta variable (inclusive si están presentes en ls dats). La función factr crea un factr cn las siguientes pcines: factr(x, levels = srt(unique(x), na.last = TRUE), labels = levels, exclude = NA, rdered = is.rdered(x)) levels especifica ls psibles niveles del factr (pr defect ls valres únics de x), labels define ls nmbres de ls niveles, exclude especifica ls valres x que se deben excluir de ls niveles, y rdered es un argument lógic que especifica si ls niveles del factr están rdenads. Recuerde que x es de tip numéric caracter. Ejempls: > factr(1:3) [1] 1 2 3 Levels: 1 2 3 > factr(1:3, levels=1:5) [1] 1 2 3 Levels: 1 2 3 4 5 > factr(1:3, labels=c("a", "B", "C")) [1] A B C Levels: A B C > factr(1:5, exclude=4) [1] 1 2 3 NA 5 Levels: 1 2 3 5 La función levels extrae ls niveles psibles de un factr: 17

> ff <- factr(c(2, 4), levels=2:5) > ff [1] 2 4 Levels: 2 3 4 5 > levels(ff) [1] "2" "3" "4" "5" Matriz. Una matriz es realmente un vectr cn un atribut adicinal (dim) el cual a su vez es un vectr numéric de lngitud 2, que define el númer de filas y clumnas de la matriz. Una matriz se puede crear cn la función matrix: matrix(data = NA, nrw = 1, ncl = 1, byrw = FALSE, dimnames = NULL) La pción byrw indica si ls valres en data deben llenar las clumnas sucesivamente (pr defect) las filas (if TRUE). La pción dimnames permite asignar nmbres a las filas y clumnas. > matrix(data=5, nr=2, nc=2) [,1] [,2] [1,] 5 5 [2,] 5 5 > matrix(1:6, 2, 3) [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6 > matrix(1:6, 2, 3, byrw=true) [,1] [,2] [,3] [1,] 1 2 3 [2,] 4 5 6 Otra manera de crear una matriz es dand ls valres aprpiads al atribut dim (que inicialmente tiene valr NULL): > x <- 1:15 > x [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 > dim(x) NULL > dim(x) <- c(5, 3) > x [,1] [,2] [,3] [1,] 1 6 11 [2,] 2 7 12 [3,] 3 8 13 [4,] 4 9 14 [5,] 5 10 15 18

Marc de dats. Hems vist que un marc de dats ( data.frame ) se crea de manera implícita cn la función read.table; también es psible hacerl cn la función data.frame. Ls vectres incluids cm arguments deben ser de la misma lngitud, si un de ells es más crt que ls trs, es reciclad un ciert númer de veces: > x <- 1:4; n <- 10; M <- c(10, 35); y <- 2:4 > data.frame(x, n) x n 1 1 10 2 2 10 3 3 10 4 4 10 > data.frame(x, M) x M 1 1 10 2 2 35 3 3 10 4 4 35 > data.frame(x, y) Errr in data.frame(x, y) : arguments imply differing number f rws: 4, 3 Si se incluye un factr en un marc de dats, el factr debe ser de la misma lngitud que el vectr ( vectres). Es psible cambiar el nmbre de las clumnas cn data.frame(a1=x, A2=n). También se pueden dar nmbres a las filas cn la pción rw.names que debe ser, pr supuest, un vectr de md caracter cn lngitud igual al númer de líneas en el marc de dats. Finalmente, nte que ls marcs de dats tienen un atribut similar al dim de las matrices. Lista. Una lista se crea de manera similar a un marc de dats cn la función list. N existe ninguna limitación en el tip de bjets que se pueden incluir. A diferencia de data.frame(), ls nmbres de ls bjets n se tman pr defect; tmand ls vectres x y y del ejempl anterir: > L1 <- list(x, y); L2 <- list(a=x, B=y) > L1 [[1]] [1] 1 2 3 4 [[2]] [1] 2 3 4 > L2 $A [1] 1 2 3 4 $B [1] 2 3 4 > names(l1) 19