102
Curso de Iniciación a R Ibon Martínez http://fdesnedecor.wordpress.com/ ´μ¸¹½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 1/51

Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

  • Upload
    hoangtu

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Curso de Iniciación a RIbon Martínez

http://fdesnedecor.wordpress.com/

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 1/51

Page 2: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Proyecto R - ¿Qué es R?

R es un lenguaje de programación para entorno estadístico y gráficos. La

base del proyecto se encuentra en la siguiente dirección:

http://www.r-project.org/

En esta dirección podremos descargar la última versión del programa así

como acceder a toda la documentación, paquetes y librerías anexas, foros yotros proyectos relacionados.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 2/51

Page 3: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Proyecto R - ¿Qué es R?

Se trata de un proyecto de software libre, resultado de la implementación GNU

del premiado lenguaje S. R y S-Plus -versión comercial de S- son,probablemente, los dos lenguajes más utilizados en investigación por la

comunidad estadística, siendo además muy populares en el campo de lainvestigación biomédica, la bioinformática y las matemáticas financieras. R se

distribuye bajo la licencia GNU GPL y está disponible para los sistemasoperativos Windows, Macintosh, Unix y GNU/Linux.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 3/51

Page 4: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Proyecto R - CRAN

El mantenimiento del Proyecto R se realiza a traves del CRAN The

Comprehensive R Archive Network donde se encuentran las últimas versionesdel programa R y los paquetes anexos. El Mirrora en España es

http://cran.es.r-project.org/.

aes un sitio Web que contiene una replica exacta de otro. Estas replicas u espejos

se suelen crear para facilitar grandes descargas y facilitar el acceso a la informacion aun

cuando haya fallos en el servicio del servidor principal

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 4/51

Page 5: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Proyecto R - Propiedades

• La capacidad de combinar, sin fisuras, análisis “preempaquetados” conanálisis ad-hoc, específicos para una situación: capacidad de manipular y

modificar datos y funciones.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 5/51

Page 6: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Proyecto R - Propiedades

• La capacidad de combinar, sin fisuras, análisis “preempaquetados” conanálisis ad-hoc, específicos para una situación: capacidad de manipular y

modificar datos y funciones.

• Los gráficos de alta calidad: visualización de datos y producción de

gráficos para artículos.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 5/51

Page 7: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Proyecto R - Propiedades

• La capacidad de combinar, sin fisuras, análisis “preempaquetados” conanálisis ad-hoc, específicos para una situación: capacidad de manipular y

modificar datos y funciones.

• Los gráficos de alta calidad: visualización de datos y producción de

gráficos para artículos.

• La comunidad de R es muy dinámica, con gran crecimiento del número depaquetes, e integrada por estadísticos de gran renombre (ej., J.

Chambers, L. Terney, B. Ripley, D. Bates, . . . ).

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 5/51

Page 8: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Proyecto R - Propiedades

• La capacidad de combinar, sin fisuras, análisis “preempaquetados” conanálisis ad-hoc, específicos para una situación: capacidad de manipular y

modificar datos y funciones.

• Los gráficos de alta calidad: visualización de datos y producción de

gráficos para artículos.

• La comunidad de R es muy dinámica, con gran crecimiento del número depaquetes, e integrada por estadísticos de gran renombre (ej., J.

Chambers, L. Terney, B. Ripley, D. Bates, . . . ).

• Hay extensiones específicas a nuevas áreas como bioinformática,geoestadística y modelos gráficos.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 5/51

Page 9: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Proyecto R - Propiedades

• La capacidad de combinar, sin fisuras, análisis “preempaquetados” conanálisis ad-hoc, específicos para una situación: capacidad de manipular y

modificar datos y funciones.

• Los gráficos de alta calidad: visualización de datos y producción de

gráficos para artículos.

• La comunidad de R es muy dinámica, con gran crecimiento del número depaquetes, e integrada por estadísticos de gran renombre (ej., J.

Chambers, L. Terney, B. Ripley, D. Bates, . . . ).

• Hay extensiones específicas a nuevas áreas como bioinformática,geoestadística y modelos gráficos.

• Es un lenguaje orientado a objetos.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 5/51

Page 10: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Proyecto R - Instalación

Depende del sistema operativo, pero todo se puede encontrar en

http://cran.es.r-project.org/bin

Para Windows se puede obtener un ejecutable desde

http://cran.es.r-project.org/bin/windows/base

Al ejecutar el archivo se instalará el sistema base y los paquetes

recomendados.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 6/51

Page 11: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Proyecto R - Paquetes

R consta de un sistema base y de paquetes adicionales que extienden sufuncionalidad. Podemos encontrarlos en

http://cran.es.r-project.org/src/contrib/PACKAGES.html

Tipos de paquetes:

• Los que forman parte del sistema base (ctest, graphics, . . . ).

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 7/51

Page 12: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Proyecto R - Paquetes

R consta de un sistema base y de paquetes adicionales que extienden sufuncionalidad. Podemos encontrarlos en

http://cran.es.r-project.org/src/contrib/PACKAGES.html

Tipos de paquetes:

• Los que forman parte del sistema base (ctest, graphics, . . . ).

• Los que no son parte del sistema base, pero son recommended (xlsx,survival, nlme, . . . ).

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 7/51

Page 13: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Proyecto R - Paquetes

R consta de un sistema base y de paquetes adicionales que extienden sufuncionalidad. Podemos encontrarlos en

http://cran.es.r-project.org/src/contrib/PACKAGES.html

Tipos de paquetes:

• Los que forman parte del sistema base (ctest, graphics, . . . ).

• Los que no son parte del sistema base, pero son recommended (xlsx,survival, nlme, . . . ).

• Otros paquetes (UsingR, foreing, . . . ). Éstos se han de seleccionar einstalar individualmente.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 7/51

Page 14: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Proyecto R - Documentación

Los manuales de R, incluidos en toda instalación.

• An introduction to Ra.

aDocumento de obligada lectura

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 8/51

Page 15: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Proyecto R - Documentación

Los manuales de R, incluidos en toda instalación.

• An introduction to Ra.

• Writing R extensions.

aDocumento de obligada lectura

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 8/51

Page 16: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Proyecto R - Documentación

Los manuales de R, incluidos en toda instalación.

• An introduction to Ra.

• Writing R extensions.

• R data import/export.

aDocumento de obligada lectura

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 8/51

Page 17: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Proyecto R - Documentación

Los manuales de R, incluidos en toda instalación.

• An introduction to Ra.

• Writing R extensions.

• R data import/export.

• The R language definition.

aDocumento de obligada lectura

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 8/51

Page 18: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Proyecto R - Documentación

Los manuales de R, incluidos en toda instalación.

• An introduction to Ra.

• Writing R extensions.

• R data import/export.

• The R language definition.

• R installation and administration.

aDocumento de obligada lectura

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 8/51

Page 19: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - Inicio

Iniciar una sesión de R

• Hacer doble-click en el icono. Se abrirá Rgui.exe.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 9/51

Page 20: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - Inicio

Iniciar una sesión de R

• Hacer doble-click en el icono. Se abrirá Rgui.exe.

• Desde una ventana del sistema ejecutar Rterm.exe. Parecido a R en Unixo Linux.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 9/51

Page 21: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - Inicio

Iniciar una sesión de R

• Hacer doble-click en el icono. Se abrirá Rgui.exe.

• Desde una ventana del sistema ejecutar Rterm.exe. Parecido a R en Unixo Linux.

• Iniciar R desde Tinn-R.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 9/51

Page 22: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - GUI de R

El programa R viene con una GUI (del inglés Graphical User Interface) que

facilita la interacción entre el usuario y el programa. Hay otros proyectosabiertos que proporcionan otras GUI para R:

• JGR o Java GUI for R, una terminal de R multiplataforma basada en Java.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 10/51

Page 23: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - GUI de R

El programa R viene con una GUI (del inglés Graphical User Interface) que

facilita la interacción entre el usuario y el programa. Hay otros proyectosabiertos que proporcionan otras GUI para R:

• JGR o Java GUI for R, una terminal de R multiplataforma basada en Java.

• R Commander (Rcmdr), una interfaz gráfica multiplataforma basada entcltk.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 10/51

Page 24: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - GUI de R

El programa R viene con una GUI (del inglés Graphical User Interface) que

facilita la interacción entre el usuario y el programa. Hay otros proyectosabiertos que proporcionan otras GUI para R:

• JGR o Java GUI for R, una terminal de R multiplataforma basada en Java.

• R Commander (Rcmdr), una interfaz gráfica multiplataforma basada entcltk.

• RExcel, que permite usar R y Rcmdr desde Microsoft Excel.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 10/51

Page 25: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - GUI de R

El programa R viene con una GUI (del inglés Graphical User Interface) que

facilita la interacción entre el usuario y el programa. Hay otros proyectosabiertos que proporcionan otras GUI para R:

• JGR o Java GUI for R, una terminal de R multiplataforma basada en Java.

• R Commander (Rcmdr), una interfaz gráfica multiplataforma basada entcltk.

• RExcel, que permite usar R y Rcmdr desde Microsoft Excel.

• rggobi, una interfaz a GGobi para visualización.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 10/51

Page 26: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - GUI de R

El programa R viene con una GUI (del inglés Graphical User Interface) que

facilita la interacción entre el usuario y el programa. Hay otros proyectosabiertos que proporcionan otras GUI para R:

• JGR o Java GUI for R, una terminal de R multiplataforma basada en Java.

• R Commander (Rcmdr), una interfaz gráfica multiplataforma basada entcltk.

• RExcel, que permite usar R y Rcmdr desde Microsoft Excel.

• rggobi, una interfaz a GGobi para visualización.

• RKWard, basado en KDE.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 10/51

Page 27: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - GUI de R

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 11/51

Page 28: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - Primera sesión

> rnorm(3)

[1] -0.39413467 0.08327595 -0.63666036

> x <- rnorm(3)

> summary(x)

Min. 1st Qu. Median Mean 3rd Qu. Max.

-0.6043 -0.5263 -0.4484 -0.4339 -0.3487 -0.2490

> w <- summary(x)

> w

Min. 1st Qu. Median Mean 3rd Qu. Max.

-0.6043 -0.5263 -0.4484 -0.4339 -0.3487 -0.2490

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 12/51

Page 29: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - R como calculadora

> 2 + 2

[1] 4

> sqrt(10)

[1] 3.162278

> 2 * 3 * 4 * 5

[1] 120

> 1000 * (1 + 0.075)^5 - 1000

[1] 435.6293

> sin(c(0, 30, 45, 60, 90) * pi/180)

[1] 0.0000000 0.5000000 0.7071068 0.8660254 1.0000000

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 13/51

Page 30: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - La ayuda de R

• ?rnorm

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 14/51

Page 31: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - La ayuda de R

• ?rnorm

• help.start()

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 14/51

Page 32: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - La ayuda de R

• ?rnorm

• help.start()

• ?help.search

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 14/51

Page 33: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - La ayuda de R

• ?rnorm

• help.start()

• ?help.search

• help.search(“normal”)

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 14/51

Page 34: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - La ayuda de R

• ?rnorm

• help.start()

• ?help.search

• help.search(“normal”)

• ?apropos

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 14/51

Page 35: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - La ayuda de R

• ?rnorm

• help.start()

• ?help.search

• help.search(“normal”)

• ?apropos

• apropos(“normal”)

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 14/51

Page 36: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - La ayuda de R

• ?rnorm

• help.start()

• ?help.search

• help.search(“normal”)

• ?apropos

• apropos(“normal”)

• ?demo

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 14/51

Page 37: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - La ayuda de R

• ?rnorm

• help.start()

• ?help.search

• help.search(“normal”)

• ?apropos

• apropos(“normal”)

• ?demo

• demo(graphics); demo(persp); demo(lm.glm)

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 14/51

Page 38: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - Paquetes adicionales

• Desde el menú Packages->Install package(s).

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 15/51

Page 39: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - Paquetes adicionales

• Desde el menú Packages->Install package(s).

• Primero nos pide seleccionar el “CRAN mirror”.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 15/51

Page 40: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - Paquetes adicionales

• Desde el menú Packages->Install package(s).

• Primero nos pide seleccionar el “CRAN mirror”.

• Desde R, con install.packages().

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 15/51

Page 41: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - Paquetes adicionales

• Desde el menú Packages->Install package(s).

• Primero nos pide seleccionar el “CRAN mirror”.

• Desde R, con install.packages().

• Desde una “ventana del sistema”.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 15/51

Page 42: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - Paquetes adicionales

• Desde el menú Packages->Install package(s).

• Primero nos pide seleccionar el “CRAN mirror”.

• Desde R, con install.packages().

• Desde una “ventana del sistema”.

• Rcmd INSTALL paquete

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 15/51

Page 43: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - Paquetes adicionales

• Desde el menú Packages->Install package(s).

• Primero nos pide seleccionar el “CRAN mirror”.

• Desde R, con install.packages().

• Desde una “ventana del sistema”.

• Rcmd INSTALL paquete

• Desde la interface de Tinn-R.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 15/51

Page 44: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - Un editor adecuado

¿Por qué usar R desde un editor?

• El uso de scripts y el mantenimiento del código ordenado y comentado esuna buena práctica estadística.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 16/51

Page 45: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - Un editor adecuado

¿Por qué usar R desde un editor?

• El uso de scripts y el mantenimiento del código ordenado y comentado esuna buena práctica estadística.

• Colores de sintaxis, completa paréntesis, . . .

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 16/51

Page 46: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - Un editor adecuado

¿Por qué usar R desde un editor?

• El uso de scripts y el mantenimiento del código ordenado y comentado esuna buena práctica estadística.

• Colores de sintaxis, completa paréntesis, . . .

• Una interface común para otros paquetes estadísticos (SAS, XLispStat,

Arc, Excel, . . . ), numéricos (Octave, . . . ) o procesador de texto (LaTeX,. . . ).

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 16/51

Page 47: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - Un editor adecuado

¿Por qué usar R desde un editor?

• El uso de scripts y el mantenimiento del código ordenado y comentado esuna buena práctica estadística.

• Colores de sintaxis, completa paréntesis, . . .

• Una interface común para otros paquetes estadísticos (SAS, XLispStat,

Arc, Excel, . . . ), numéricos (Octave, . . . ) o procesador de texto (LaTeX,. . . ).

• Una buena elección: Tinn-R.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 16/51

Page 48: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - El primer ejemplo

Sea X una variable aleatorio con distribucióon exponencial de parámetro α y

X1,X2, . . . , Xn una muestra aleatoria simple. Se sabe que la distribución deZ = n ·min {X1, X2, . . . , Xn} es exponencial de parámetro α.

> alpha <- 0.01

> n <- 50

> m <- 1000

> datos <- matrix(rexp(n * m, alpha), ncol = n)

> fz <- function(x) n * min(x)

> z <- apply(datos, 1, fz)

> mean(z)

[1] 104.7786

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 17/51

Page 49: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Primeros pasos - El primer ejemplo

> hist(z, freq = F)

> points(dexp(0:600, alpha), type = "l")

> ks.test(z, "pexp", alpha)

One-sample Kolmogorov-Smirnov test

data: z

D = 0.045, p-value = 0.03495

alternative hypothesis: two-sided

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 18/51

Page 50: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - ¿Qué son?

Casi todo en R es un objeto, incluyendo funciones y estructuras de datos.

• Para saber los objetos que tenemos en el espacio de trabajo utilizaremosls().

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 19/51

Page 51: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - ¿Qué son?

Casi todo en R es un objeto, incluyendo funciones y estructuras de datos.

• Para saber los objetos que tenemos en el espacio de trabajo utilizaremosls().

• Escribir el nombre de un objeto muestra su contenido: mean.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 19/51

Page 52: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - ¿Qué son?

Casi todo en R es un objeto, incluyendo funciones y estructuras de datos.

• Para saber los objetos que tenemos en el espacio de trabajo utilizaremosls().

• Escribir el nombre de un objeto muestra su contenido: mean.

• Para guardar el contenido del espacio de trabajo se pueden utilizar las

funciones save.image() y save(<objetos>,file=“nombre.RData”).

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 19/51

Page 53: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - ¿Qué son?

Casi todo en R es un objeto, incluyendo funciones y estructuras de datos.

• Para saber los objetos que tenemos en el espacio de trabajo utilizaremosls().

• Escribir el nombre de un objeto muestra su contenido: mean.

• Para guardar el contenido del espacio de trabajo se pueden utilizar las

funciones save.image() y save(<objetos>,file=“nombre.RData”).

• Se puede acceder a objetos de la carpeta de trabajo o del camino queespecifiquemos.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 19/51

Page 54: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Tipos de objetos

• Objetos del lenguaje

• Llamadas

• Expresiones

• Nombres

• Expresiones

• Funciones

• Lista de argumentos

• Código

• Entorno

• sin objeto: NULL

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 20/51

Page 55: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Vector

Vector: Colección ordenada de elementos del mismo tipo

> x <- c(1, 2, 3)

> x

[1] 1 2 3

> y <- c(FALSE, TRUE, TRUE)

> y

[1] FALSE TRUE TRUE

> z <- c("a", "b", "c")

> z

[1] "a" "b" "c"

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 21/51

Page 56: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Array

Array: Generalización multidimensional del vector. Elementos del mismo tipo.

> mat <- matrix(rnorm(9), ncol = 3)

> mat

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

[1,] -0.8546732 -0.3515071 0.1269125

[2,] 1.7731786 -0.3079295 -0.0849302

[3,] -0.5036908 -0.9784104 -0.4556152

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 22/51

Page 57: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Data frame

data frame: Como el array, pero con columnas de diferentes tipos. Es el

objeto más habitual para los datos experimentales.

> dades <- data.frame(ID = c("gen0", "genB", "genZ"), subj1 = c(10,

+ 25, 33), subj2 = c(NA, 34, 15), oncogen = c(TRUE, TRUE, FALSE),

+ loc = c(1, 30, 125))

> dades

ID subj1 subj2 oncogen loc

1 gen0 10 NA TRUE 1

2 genB 25 34 TRUE 30

3 genZ 33 15 FALSE 125

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 23/51

Page 58: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Factor

factor: Tipo de vector para datos cualitativos.

> x <- c(1, 2, 2, 1, 1, 2, 1, 2, 1)

> x

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

> x <- factor(c(1, 2, 2, 1, 1, 2, 1, 2, 1))

> x

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

Levels: 1 2

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 24/51

Page 59: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Lista

list: vector generalizado. Cada lista está formada por componentes que

pueden ser de distinto tipo. Son contenedores generales de datos. Muyflexibles, pero sin estructura. Muchas funciones devuelven una lista o conjunto

de resultados de distinta longitud y distinto tipo.

> una.lista <- list(vec = rnorm(5), mat = matrix(rnorm(4), ncol = 2))

> una.lista

$vec

[1] 0.1102119 -0.1345766 0.7536878 -0.8123064 -0.6643130

$mat

[,1] [,2]

[1,] -0.43561329 -1.400254

[2,] -0.06045704 -1.749240

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 25/51

Page 60: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Atributos

Atributos de los objetos

• Modo: Tipo básico en un vector o array: lógico, entero, real, carácter,

. . . mode

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 26/51

Page 61: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Atributos

Atributos de los objetos

• Modo: Tipo básico en un vector o array: lógico, entero, real, carácter,

. . . mode

• Tipo: Tipo de los vectores o arrays: double, character, . . . typeof

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 26/51

Page 62: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Atributos

Atributos de los objetos

• Modo: Tipo básico en un vector o array: lógico, entero, real, carácter,

. . . mode

• Tipo: Tipo de los vectores o arrays: double, character, . . . typeof

• Nombres: Etiquetas de los elementos individuales de un vector o lista:names

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 26/51

Page 63: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Atributos

Atributos de los objetos

• Modo: Tipo básico en un vector o array: lógico, entero, real, carácter,

. . . mode

• Tipo: Tipo de los vectores o arrays: double, character, . . . typeof

• Nombres: Etiquetas de los elementos individuales de un vector o lista:names

• Dimensiones: Dimensiones de los arrays (alguna puede ser cero): dim

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 26/51

Page 64: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Atributos

Atributos de los objetos

• Modo: Tipo básico en un vector o array: lógico, entero, real, carácter,

. . . mode

• Tipo: Tipo de los vectores o arrays: double, character, . . . typeof

• Nombres: Etiquetas de los elementos individuales de un vector o lista:names

• Dimensiones: Dimensiones de los arrays (alguna puede ser cero): dim

• Dimnames: Nombres de las dimensiones de los arrays: dimnames

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 26/51

Page 65: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Atributos

Atributos de los objetos

• Modo: Tipo básico en un vector o array: lógico, entero, real, carácter,

. . . mode

• Tipo: Tipo de los vectores o arrays: double, character, . . . typeof

• Nombres: Etiquetas de los elementos individuales de un vector o lista:names

• Dimensiones: Dimensiones de los arrays (alguna puede ser cero): dim

• Dimnames: Nombres de las dimensiones de los arrays: dimnames

• Clase: Vector alfanumérico con la lista de las clases del objeto: class

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 26/51

Page 66: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Atributos

Atributos de los objetos

• Modo: Tipo básico en un vector o array: lógico, entero, real, carácter,

. . . mode

• Tipo: Tipo de los vectores o arrays: double, character, . . . typeof

• Nombres: Etiquetas de los elementos individuales de un vector o lista:names

• Dimensiones: Dimensiones de los arrays (alguna puede ser cero): dim

• Dimnames: Nombres de las dimensiones de los arrays: dimnames

• Clase: Vector alfanumérico con la lista de las clases del objeto: class

• Otros: Atributos de una serie temporal.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 26/51

Page 67: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Atributos

> x <- 1:15

> length(x)

[1] 15

> y <- matrix(5, nrow = 3, ncol = 4)

> dim(y)

[1] 3 4

> is.vector(x)

[1] TRUE

> is.vector(y)

[1] FALSE

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 27/51

Page 68: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Atributos

> x1 <- 1:5

> x2 <- c(1, 2, 3, 4, 5)

> x3 <- "patata"

> x4 <- TRUE

> typeof(x1)

[1] "integer"

> typeof(x2)

[1] "double"

> typeof(x3)

[1] "character"

> typeof(x4)

[1] "logical"

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 28/51

Page 69: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Atributos

> w <- data.frame(Suj = c("Suj 1", "Suj 2", "Suj 3"), Pes = c(56.1,

+ 73.6, 81.2), Alt = c(145, 165, 172))

> attributes(w)

$names

[1] "Suj" "Pes" "Alt"

$row.names

[1] 1 2 3

$class

[1] "data.frame"

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 29/51

Page 70: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Atributos

> f1 <- function(x) {

+ return(2 * x)

+ }

> attributes(f1)

$source

[1] "function(x) {return(2 * x)}"

> is.function(f1)

[1] TRUE

> f1(4)

[1] 8

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 30/51

Page 71: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Nombres

• Los nombres válidos para un objeto son combinaciones de letras,números y el punto (“.”).

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 31/51

Page 72: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Nombres

• Los nombres válidos para un objeto son combinaciones de letras,números y el punto (“.”).

• Los nombres no pueden empezar con un número.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 31/51

Page 73: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Nombres

• Los nombres válidos para un objeto son combinaciones de letras,números y el punto (“.”).

• Los nombres no pueden empezar con un número.

• R es “case-sensitive”: x != X.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 31/51

Page 74: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Nombres

• Los nombres válidos para un objeto son combinaciones de letras,números y el punto (“.”).

• Los nombres no pueden empezar con un número.

• R es “case-sensitive”: x != X.

• Hay nombres reservados (“function”, “if”, . . . ).

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 31/51

Page 75: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Nombres

• Los nombres válidos para un objeto son combinaciones de letras,números y el punto (“.”).

• Los nombres no pueden empezar con un número.

• R es “case-sensitive”: x != X.

• Hay nombres reservados (“function”, “if”, . . . ).

• Mejor evitar nombres que R usa (ej., “c”).

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 31/51

Page 76: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Nombres

• Los nombres válidos para un objeto son combinaciones de letras,números y el punto (“.”).

• Los nombres no pueden empezar con un número.

• R es “case-sensitive”: x != X.

• Hay nombres reservados (“function”, “if”, . . . ).

• Mejor evitar nombres que R usa (ej., “c”).

• Las asignaciones se hacen con “<-” y se recomiendan los espacios. El

signo “=” se reserva para los argumentos de las funciones.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 31/51

Page 77: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Nombres

• Los nombres válidos para un objeto son combinaciones de letras,números y el punto (“.”).

• Los nombres no pueden empezar con un número.

• R es “case-sensitive”: x != X.

• Hay nombres reservados (“function”, “if”, . . . ).

• Mejor evitar nombres que R usa (ej., “c”).

• Las asignaciones se hacen con “<-” y se recomiendan los espacios. El

signo “=” se reserva para los argumentos de las funciones.

• La función make.names convierte una cadena de texto en una cadenaque pueda utilizarse como nombre de una variable en una matriz,

data.frame, . . .

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 31/51

Page 78: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Objetos de R - Operadores aritméticos

• Suma +, resta -, multiplicación *, división /

• Potencia , raíz cuadrada sqrt

• División entera %/%, módulo: resto de la divisit’on entera %%

• Logaritmos log, log10, log2, logb(x, base), exponencial exp

• Trigonométricas sin, cos, tan, asin, acos, atan

• Otras max, min, range, pmax, pmin, mean, median, var, sd, quantile, sum,prod, diff, cumsum, cumprod, cummax, cummin

Podemos ver sus argumentos y su utilización mediante el comando

help(funcion). Además, podemos ver algunos ejemplos con el comandoexample(funcion).

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 32/51

Page 79: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Potencia gráfica de R

• R incluye muchas y variadas funciones para hacer gráficos.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 33/51

Page 80: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Potencia gráfica de R

• R incluye muchas y variadas funciones para hacer gráficos.

• El sistema permite desde gráficos muy simples a figuras de calidad para

incluir en artículos y libros.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 33/51

Page 81: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Potencia gráfica de R

• R incluye muchas y variadas funciones para hacer gráficos.

• El sistema permite desde gráficos muy simples a figuras de calidad para

incluir en artículos y libros.

• Sólo examinaremos la superficie. Más detalles en el libro R Graphics dePaul Murrell.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 33/51

Page 82: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Potencia gráfica de R

• R incluye muchas y variadas funciones para hacer gráficos.

• El sistema permite desde gráficos muy simples a figuras de calidad para

incluir en artículos y libros.

• Sólo examinaremos la superficie. Más detalles en el libro R Graphics dePaul Murrell.

• También podemos ver un buen conjunto de ejemplos con demo(graphics).

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 33/51

Page 83: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Potencia gráfica de R

• R incluye muchas y variadas funciones para hacer gráficos.

• El sistema permite desde gráficos muy simples a figuras de calidad para

incluir en artículos y libros.

• Sólo examinaremos la superficie. Más detalles en el libro R Graphics dePaul Murrell.

• También podemos ver un buen conjunto de ejemplos con demo(graphics).

• El comando plot es uno de los más utilizados para realizar gráficos.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 33/51

Page 84: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Potencia gráfica de R

• R incluye muchas y variadas funciones para hacer gráficos.

• El sistema permite desde gráficos muy simples a figuras de calidad para

incluir en artículos y libros.

• Sólo examinaremos la superficie. Más detalles en el libro R Graphics dePaul Murrell.

• También podemos ver un buen conjunto de ejemplos con demo(graphics).

• El comando plot es uno de los más utilizados para realizar gráficos.

• Si escribimos plot(x, y) donde x e y son vectores con n coordenadas,entonces R representa el gráfico de dispersión con los puntos de

coordenadas (xi, yi).

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 33/51

Page 85: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Potencia gráfica de R

El principal comando para generar un grá-

fico en R es plot. Si generamos un vec-tor aleatorio de dimensión 10. Uno de los

argumentos más útiles es type cuyos pará-metros pueden ser: p para puntos, l para

líneas, . . . (?plot). Para representarlo gráfi-camente sólo tenemos que escribir:

> x<-rnorm(10)> plot(x)

2 4 6 8 10

−2

−1

01

2

Index

x

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 34/51

Page 86: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Potencia gráfica de R

Podemos modificar ciertos atributos del

gráfico, por ejemplo el color de la línea(col) y el tamaño de la línea (lwd). R en-

tiende como argumentos los nombres delos colores: red, green, blue, . . . . Podemos

ver los colores predefinidos con la funcióncolours(). Si escribimos:

> plot(x, col=“red”, type=“l”, lwd=5)2 4 6 8 10

−2

−1

01

2

Index

x

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 35/51

Page 87: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Potencia gráfica de R

Podemos modificar los atributos de los

límites del gráfico (xlim,ylim), las etiquetasde los ejes (xlab, ylab) y añadir un título

(main). Podemos escribir:> plot(x, col=“red”, type=“l”, lwd=5,

ylim=c(-4,4), xlab=“Eje X”, ylab=“EjeY”, main=“Nuestra primera gráfica en R”)

2 4 6 8 10

−4

−2

02

4

Nuestra primera gráfica en R

Eje X

Eje

Y

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 36/51

Page 88: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Potencia gráfica de R - Líneas y puntos

Sobre un gráfico creado podemos añadir

información secundaria en forma de líneas(lines, abline) y puntos (points). Podemos

escribir:> plot(x, col=“red”, type=“l”, lwd=5,

ylim=c(-4,4), xlab=“Eje X”, ylab=“EjeY”, main=“Nuestra primera gráfica en R”)

> points(x, col=“blue”,cex=3, pch=21,bg=“green”, lwd=3)

> abline(lm(xseq(1,10)), lty=3, lwd=5,col=“orange”)

2 4 6 8 10

−4

−2

02

4

Nuestra primera gráfica en R

Eje X

Eje

Y

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 37/51

Page 89: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Potencia gráfica de R - Texto

Otra opción interesante es la de introducir

texto en nuestras figuras, para ello utilizare-mos el comando text que permite añadir

texto en cualquier zona del gráfico. Pode-mos escribir:

> plot(x, col = “red”, type = “l”, lwd = 5, ylim= c(-4,4), xlab = “Eje X”, ylab = “Eje Y”, main

= “Nuestra primera gráfica en R”)> points(x, col = “red”,cex = 3, pch = 21, bg

= “red”)> text(x, label = format(x, digits = 2, nsmall

= 2), cex = 1, font = 2)

2 4 6 8 10

−4

−2

02

4

Nuestra primera gráfica en R

Eje X

Eje

Y

−0.44

−2.37

−0.71

0.86

0.20

0.77 0.51 0.31

0.91

2.32

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 38/51

Page 90: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Potencia gráfica de R - Otros comandos

El comando plot no es el único que existe

para generar figurar, hay otros como:boxplot, barplot, cdplot, pie, . . . Podemos

escribir:> par(mfrow=c(2,2))

> boxplot(InsectSprays$count Insect-Sprays$spray, col = “red”)

> barplot(tapply(InsectSprays$count, IN-DEX = InsectSprays$spray, FUN = “mean”))

> pie(table(InsectSprays$spray),col = rainbow(6)) >

barplot(tapply(InsectSprays$count, INDEX= InsectSprays$spray, FUN = “mean”),

horiz = TRUE, col = “orange”)

A B C D E F

05

1015

2025

A B C D E F

05

1015

A

B

C

D

E

F

AB

CD

EF

0 5 10 15

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 39/51

Page 91: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Potencia gráfica de R - Y más

• Podemos modificar márgenes exteriores de figuras y entre figuras (ver?par, opciones: oma, omi, mar, mai, . . . ).

• También gráficos 3D: persp, image, contour ; histogramas: hist ; gráficosde barras: barplot ; gráficos de comparación de cuantiles, usados para

comparar la distribución de dos variables, o la disribución de unos datosfrente a un estándar: qqplot, qqnorm y, en paquete car, qq.plot.

• Notación matemática (plotmath) y expresiones de texto arbitrariamente

complejas.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 40/51

Page 92: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Programación en R

• Principales instrucciones

• if(cond) expr

• if(cond) cons.expr else alt.expr

• for(var in seq) expr

• while(cond) expr

• switch

• repeat expr

• break

• next

• La expresión expr (también alt.expr ) puede ser una expresión simple o

compuestas.

• Uno de los errores más habituales es el olvido de los corchetes . . .alrededor de las instrucciones, i.e. después de if(. . . ) o for(. . . ).

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 41/51

Page 93: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Programación en R - Comando if

IF significa SI (condicional). Su funcionamiento es simple, se evalúa una

condición, si es verdadera ejecuta un código, si es falsa, ejecuta otro código (ocontinúa con la ejecución del programa).

> f4 <- function(x) {

+ if (x > 5)

+ print("x > 5")

+ else {

+ y <- runif(1)

+ print(paste("y es ", y))

+ }

+ }

> f4(3)

[1] "y es 0.101673830067739"

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 42/51

Page 94: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Programación en R - Comando ifelse

ifelse es una versión vectorizada del comando if

> x <- c(4, 6, 7, 3, 1, 3)

> ifelse(x > 5, x/2, x * 2)

[1] 8.0 3.0 3.5 6.0 2.0 6.0

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 43/51

Page 95: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Programación en R - Comando for

Una de las estructuras de repetición empleada en la programación de

algoritmos para repetir un código (una o más sentencias de programación)dependiendo de un contador.

> for (i in 1:5) cat("el valor de i es", i, "\n")

el valor de i es 1

el valor de i es 2

el valor de i es 3

el valor de i es 4

el valor de i es 5

break sale de la instrucción

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 44/51

Page 96: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Programación en R - Comando while

Existen otras estructuras de repetición que no dependen de un contador y si

dependen de una condición.

> x <- 2

> while (x < 100) {

+ x <- x^2

+ print(x)

+ }

[1] 4

[1] 16

[1] 256

Cuando el valor de x ha sido mayor o igual que 100, sale del bucle.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 45/51

Page 97: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Programación en R - Comando switch

Podemos utilizar estructuras condicionales para ejecutar acciones. la función

switch nos permite utilizar estas opciones

> cadena <- "Owl Genomics - Curso de R, 2011"

> switch("my", my = toupper(cadena), mn = tolower(cadena), ig = cadena)

[1] "OWL GENOMICS - CURSO DE R, 2011"

> switch("mn", my = toupper(cadena), mn = tolower(cadena), ig = cadena)

[1] "owl genomics - curso de r, 2011"

Según el primer parámetro, se ejecuta una acción u otra.

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 46/51

Page 98: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Importar datos con R

Si vamos a trabajar con un conjunto de datos grande, es evidente, que no los

vamos a introducir “uno a uno”. R tiene varias funciones incorporadas parafacilitar esta tarea y pude importar datos desde una gran variedad de formatos

(*.csv, *.xls, *.xlsx, *.sav, *.txt, . . . ). Vamos a centrarnos en las principalesfunciones:

• read.table()

• read.csv(), read.csv2()

• read.xls(), read.xlsx()a

aCon la librerıa xlsx

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 47/51

Page 99: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Importar datos con R - read.table()

Con la función read.table() podemos importar directamente un data.frame. La

sintaxis completa de la función es:

read.table (fichero, header=TRUE,sep=“ ”, . . . )

Donde fichero es el nombre del fichero que queremos leer, header indica si

nuestro fichero tiene los nombres de las variables en el encabezado y sepindica la separación existente entre las variables (“ ” indica un espacio en

blanco, “\t” indica un tabulador, “;” indica punto y coma, . . . ).

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 48/51

Page 100: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Importar datos con R - read.csv()

Hablamos de read.csv() y read.csv2() para leer ficheros con extensión *.csva.

En muchos países europeos, el estándar es utilizar la “,” (coma) comoseparador de los decimales y el “;” (punto y coma) como separador de las

variables. Si nuestro fichero sigue este estándar, podemos utilizar la funciónread.csv2 que tiene estos argumentos por defecto.

aLos ficheros CSV (del ingles comma-separated values) son un tipo de documento en

formato abierto sencillo para representar datos en forma de tabla, en las que las columnas

se separan por comas

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 49/51

Page 101: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Importar datos con R - read.csv()

Precio;Area;Edad52.00;830;6.2

. . .

> datos <- read.csv2("datos.csv", header = TRUE)

> datos

Precio Area Edad

1 52.00 830 6.2

2 54.75 710 7.5

3 59.75 900 1.9

> datos$Edad

[1] 6.2 7.5 1.9

Levels: 1.9 6.2 7.5

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 50/51

Page 102: Curso de R - Iniciación a R - aficionporlafotografia.com · Curso de Iniciación a R ... del premiado lenguaje S. Ry S-Plus -versión comercial de S- son, probablemente, los dos

Exportar datos con R

Complementarias a las funciones ya vistas existen las funciones:

• write.table()

• write.csv(), write.csv2()

• write.xls(), write.xlsx()a

aCon la librerıa xlsx

´ µ ¸¹ ½ http://fdesnedecor.wordpress.com/, Agosto 2011 – p. 51/51