sesión 1: una introducción a r -...

83
Introducción R: el lenguaje Trabajando con R Preguntas Sesión 1: Una introducción a R Métodos estadístico de investigación: Introducción a R y Rstudio 000R Team 2017/18 000R Team Sesión 1: Una introducción a R

Upload: phungdat

Post on 26-Sep-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sesión 1: Una introducción a RMétodos estadístico de investigación: Introducción a R y Rstudio

000R Team

2017/18

000R Team Sesión 1: Una introducción a R

Page 2: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

1 Introducción

2 R: el lenguaje

3 Trabajando con R

4 Preguntas

000R Team Sesión 1: Una introducción a R

Page 3: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

000R Team Sesión 1: Una introducción a R

Page 4: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

Introducción

000R Team Sesión 1: Una introducción a R

Page 5: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

Objetivos de la sesión

000R Team Sesión 1: Una introducción a R

Page 6: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

Conocer y comprender

1 Conocerla principales ventajas de Rel funcionamiento básico de la terminal de Rlos principales elementos de la sintaxis de Rel procedimiento básico de trabajo con R

2 Comprenderel fundamento de la sintaxis de Rel procedimiento de trabajolos mensajes de error del sistema

000R Team Sesión 1: Una introducción a R

Page 7: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

¿Qué es R?

000R Team Sesión 1: Una introducción a R

Page 8: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

Definción

Permite el almacenamiento, manejo y tratamiento estadísticode los datos[R] se desarrolló sobre una idea de R Becker, J Chambers y AWilkslingua franca de la estadística y los aspectos cuantitativos denumerosos campos del conocimiento:

biología (ecología, genética, filogenia. . . ), farmacología, . . .economía, finanzas, . . .Química, física,optimización, etc.

000R Team Sesión 1: Una introducción a R

Page 9: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

Qué es R

Vídeo traducidohttp://gauss.inf.um.es/videos/whatsR.webm

000R Team Sesión 1: Una introducción a R

Page 10: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

Unas fotos de familia

Interfaces

http://www.statmethods.net/interface/guis.html

Instalaciónrstudio

000R Team Sesión 1: Una introducción a R

Page 11: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

rstudio

Figure 1000R Team Sesión 1: Una introducción a R

Page 12: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

rstudio: la terminal

Figure 2000R Team Sesión 1: Una introducción a R

Page 13: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

¿Qué tiene R que tanto nos gusta?:

Es libre. licencia GNU, –> utilizar y ¡mejorar!Es multiplataforma: Linux, Windows, Mac, iPhone. . .Se puede analizar en R cualquier tipo de datos.Es potente. Es muy potente.Capacidad gráfica. Difícilmente es superada por ningún otropaquete estadístico.Compatible con ‘todos’:csv, xls, sav, sas. . .Es ampliable, si quieres añadir algo: ¡empaquétalo!Hay miles de técnicas estadísticas implementadas, cada día haymás.

000R Team Sesión 1: Una introducción a R

Page 14: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

Importancia de la comunidad

R aumenta su capacidad con la colaboración de los usuarios1998 unas 200 librerías2011, octubre, más de 3300¿Hoy cuantas?

000R Team Sesión 1: Una introducción a R

Page 15: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

Sobre la notación y la tipografía

000R Team Sesión 1: Una introducción a R

Page 16: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

Comunicación con un autómata

El autómata carece de inteligenciaR hace lo que se le pide, no lo que se quiereEn una conversación deben respetarse las reglas decomunicaciónLas reglas tipográficas ayudan a simplificar

000R Team Sesión 1: Una introducción a R

Page 17: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

De la escritura

El manejo del teclado es muy importanteAtajos de teclado, hotkeys y shortcutsSensibilidad a mayúsculas (case sensitive): no es lo mismo ‘A’que ‘a’El uso del tabulador para autocompletado

000R Team Sesión 1: Una introducción a R

Page 18: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

De la pantalla

Intercomunicación: mensajes de respuestaErrores: WarningErrores: Fatal errorMalditos errores: Syntax error

000R Team Sesión 1: Una introducción a R

Page 19: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

La terminal de R

BienvenidaExpresiones para REl prompt

>+

La despedida

000R Team Sesión 1: Una introducción a R

Page 20: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

rstudio

Figure 3000R Team Sesión 1: Una introducción a R

Page 21: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

rstudio: Usando el tabulador

Figure 4000R Team Sesión 1: Una introducción a R

Page 22: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

Elección del directorio de trabajo

000R Team Sesión 1: Una introducción a R

Page 23: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

rstudio: Entrada Session

Figure 5000R Team Sesión 1: Una introducción a R

Page 24: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

rstudio: Localizando el directorio de trabajo

Figure 6000R Team Sesión 1: Una introducción a R

Page 25: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

rstudio: Seleccioando la unidad sócrates

Figure 7000R Team Sesión 1: Una introducción a R

Page 26: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

rstudio: directorio para el seminario

Figure 8000R Team Sesión 1: Una introducción a R

Page 27: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Objetivos de la sesión¿Qué es R?Sobre la notación y la tipografíaElección del directorio de trabajo

rstudio: ¡Una expresión!

Figure 9000R Team Sesión 1: Una introducción a R

Page 28: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

R: el lenguaje

000R Team Sesión 1: Una introducción a R

Page 29: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Sobre la notación

000R Team Sesión 1: Una introducción a R

Page 30: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Reglas básicas de sintaxis R

Reglas sintácticas1 R evalúa expresiones2 El lenguaje es sensible a mayúsculas3 Pueden utilizarse espacios entre elementos de sintaxis a

discreción: sin(x+b) es igual que sin ( x + b)4 Cada expresión se escribe en al menos una línea5 Dos o más expresiones puede utilizar una línea separándolas por

el signo ';'

En R, donde entra un valor puede entrar una expresiónRegla de reusoESC una tecla para huir, abortar, cortar,. . .

000R Team Sesión 1: Una introducción a R

Page 31: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Notación matemática y sintaxis de R

Matemáticas Expresión en R

x = 3 x <- 3

sinα sin( alpha )

log10(x) log( x, 10 )

vi v[ i ]

∑ni=1 vi sum( v )

000R Team Sesión 1: Una introducción a R

Page 32: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Elementos de R

000R Team Sesión 1: Una introducción a R

Page 33: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Valores

Enteros: 3Reales: 1.8e+12 (1.8 1012)Complejos: 0+1i (

√−1)

Carácter: "rojo"Perdidos: NANo números: NaN (log(0))Indeterminaciones (−∞, ∞): -Inf, Inf (1

0)

000R Team Sesión 1: Una introducción a R

Page 34: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Operadores aritméticos

Importancia de la jerarquía de operadoresOperadores aritméticos

escalaresmatriciales

Operadores lógicos

000R Team Sesión 1: Una introducción a R

Page 35: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Operadores aritméticos

ˆ potencia* / producto, cociente+ - suma, resta%/% cociente entero%% módulo: generar una serie

%*% producto matricial() paréntesis

000R Team Sesión 1: Una introducción a R

Page 36: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Ejemplos

3 ^ 2

## [1] 9

3 ^ 1 + 1

## [1] 4

3 ^ ( 1 + 1 )

## [1] 9

000R Team Sesión 1: Una introducción a R

Page 37: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Ejemplos

10 / 2 * 5

## [1] 25

10 / 2 / 5

## [1] 1

21 %% 5

## [1] 1

000R Team Sesión 1: Una introducción a R

Page 38: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Ejemplos

1:10

## [1] 1 2 3 4 5 6 7 8 9 10

1:10 * 2

## [1] 2 4 6 8 10 12 14 16 18 20

2^(0:8)

## [1] 1 2 4 8 16 32 64 128 256

000R Team Sesión 1: Una introducción a R

Page 39: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Operadores lógicos

! no== != igual, distinto> >= mayor, mayor o

igual< <= menor, menor o

igual| || o& && y

# comentario

000R Team Sesión 1: Una introducción a R

Page 40: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Ejemplos

3 >=2

## [1] TRUE

0 != 0.0000000000000001

## [1] TRUE

5*2 > 9 & 3/2 == 1.5

## [1] TRUE

000R Team Sesión 1: Una introducción a R

Page 41: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Asignaciones

Variable <- expresiónVariable es un nombre que se utiliza como representación delresultado de una expresión

<- asignar a laizquierda

-> asignar a laderecha

= asignar a laizquierda

000R Team Sesión 1: Una introducción a R

Page 42: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Ejemplos

a <- 3a

## [1] 3

a <- a + 1a

## [1] 4

(a <- a + 1)

## [1] 5

000R Team Sesión 1: Una introducción a R

Page 43: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

rstudio: ¿qué objetos tengo y cuál es su valor?

Figure 10000R Team Sesión 1: Una introducción a R

Page 44: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

rstudio: ¿qué objetos tengo y cuál es su valor?

Figure 11000R Team Sesión 1: Una introducción a R

Page 45: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Ejemplos

r <- 1area <- pi * r ^ 2longitud <- 2 * pi * rarea

## [1] 3.141593

longitud

## [1] 6.283185

000R Team Sesión 1: Una introducción a R

Page 46: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Ejemplos

r <- 1:10area <- pi * r ^ 22 * pi * r -> longitudarea #;longitud

## [1] 3.141593 12.566371 28.274334 50.265482## [5] 78.539816 113.097336 153.938040 201.061930## [9] 254.469005 314.159265

000R Team Sesión 1: Una introducción a R

Page 47: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Funciones

Una función es un procedimiento para realizar una determinadatarea o cálculofunción se asocia a un nombre, que sigue las mismas reglas quelas variablesnombre_de_la_función ( argumento 1, argumento 2, . . . )Los argumentos son propios de cada funciónEn algunos casos los argumentos tienen valores por defecto

000R Team Sesión 1: Una introducción a R

Page 48: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Ejemplo

log( 2 )

## [1] 0.6931472

log( 2, 10 )

## [1] 0.30103

log( exp( 1 ) )

## [1] 1

000R Team Sesión 1: Una introducción a R

Page 49: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Ejemplo

log( x = 2 , base = 10 )

## [1] 0.30103

log( base = 10, x = 2 )

## [1] 0.30103

000R Team Sesión 1: Una introducción a R

Page 50: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Funciones

c() Concatenar los elementos que seindican, separados por comas

seq() Generar una secuencia numérica

rep() Generar un conjunto de valoresrepetidos

sort() Ordena un vector

000R Team Sesión 1: Una introducción a R

Page 51: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Funciones

round() Redondeo de valores numéricossqrt() Raíz cuadradaabs() Valor absoluto

sin() Función trigonométricas senocos() Función trigonométricas coseno

log() Logaritmo naturalexp() exponencial (ex)

000R Team Sesión 1: Una introducción a R

Page 52: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Funciones

sum() Suma los elementos de un vectorcumsum() Vector de sumas acumuladas

max() Máximo de un vectormin() Mínimo de un vector

t() Transponer una matriznames() Nombres de filas o columnasnrow() Número de filasncol() Número de columnas

rownames() Nombre de las filascolnames() Nombres de las columnas

000R Team Sesión 1: Una introducción a R

Page 53: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Funciones

str() Proporciona información sobre laestructura de un objeto

ls() Relación de objetos disponiblesrm() Elimina uno o varios objetos

read.table() Carga los datos de un fichero

source() Carga el código de R escrito en un fichero

000R Team Sesión 1: Una introducción a R

Page 54: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

R: los objetos

000R Team Sesión 1: Una introducción a R

Page 55: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Vectores

Los vectores son un conjunto ordenado de valoresPara calcular con todo el vector se emplea el nombre del objetoPara utilizar un subconjunto valores se emplea subíndicesLos subíndices se incluyen entre corchetes ( x[ 3 ] )Los subíndices están en el rango: 1 — número de elementosdel vectorLos subíndices pueden ser expresiones

000R Team Sesión 1: Una introducción a R

Page 56: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Ejemplo

x <- c( 8, 5, 2, 4, 1, 6, 3 )length( x )

## [1] 7

x

## [1] 8 5 2 4 1 6 3

x[]

## [1] 8 5 2 4 1 6 3

000R Team Sesión 1: Una introducción a R

Page 57: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Ejemplo

x[ 1 ]

## [1] 8

x[ 2:4 ]

## [1] 5 2 4

x[ c( 3, 5 ) ]

## [1] 2 1

x[ -1 ]

## [1] 5 2 4 1 6 3000R Team Sesión 1: Una introducción a R

Page 58: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Matrices

Una matriz es un conjunto ordenado de vectoresLos elementos de la matriz están ordenados por filas y columnasTodos los vectores son del mismo tipo: enteros, caracteres, . . .Los elementos de una matriz se identifican por dos subíndicesEl uso de los subíndices sigue las mismas reglas que en el casode los vectoresSe puede crear uniendo vectores o mediante la funciónmatrix()

000R Team Sesión 1: Una introducción a R

Page 59: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Ejemplo

m <- matrix( 1:12, 4, 3 )m

## [,1] [,2] [,3]## [1,] 1 5 9## [2,] 2 6 10## [3,] 3 7 11## [4,] 4 8 12

m[ 1, ]

## [1] 1 5 9

000R Team Sesión 1: Una introducción a R

Page 60: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Data frames

Son semejantes a las matricesSe organizan por filas y columnasLas columnas no tienen por que ser homogéneasLas columnas tienen nombreHabitualmente los data frames se obtienen de la lectura de unfichero de datos

000R Team Sesión 1: Una introducción a R

Page 61: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Ejemplo: el fichero phlox.dat

read.table( "./files/ardilla.dat" )

x n m1 0 530 0.002 1 134 1.283 2 56 2.284 3 39 3.245 4 23 3.246 5 12 2.487 6 5 2.288 7 2 2.28

000R Team Sesión 1: Una introducción a R

Page 62: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Ejemplo

phlox <- read.table("./files/phlox.dat" )

head( phlox )

## x n semillas## 1 0 996 0## 2 63 668 0## 3 124 295 0## 4 184 190 0## 5 215 176 0## 6 264 172 0

000R Team Sesión 1: Una introducción a R

Page 63: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Ejemplo

phlox[ , 3 ]

## [1] 0 0 0 0 0 0 0 53 485 803 973## [12] 95 0

phlox$n

## [1] 996 668 295 190 176 172 167 159 154 147 105## [12] 22 0

phlox[ , "n" ]

## [1] 996 668 295 190 176 172 167 159 154 147 105## [12] 22 0

phlox[[ 3 ]]

## [1] 0 0 0 0 0 0 0 53 485 803 973## [12] 95 0

000R Team Sesión 1: Una introducción a R

Page 64: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Listas

Son objetos que pueden contener conjuntos heterogéneos deobjetor

valoresvectoresmatricesdata frameslistas

Se suelen encontrar como resultado de funciones

000R Team Sesión 1: Una introducción a R

Page 65: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Ejemplo

f <- "http://www.um.es/docencia/emc/datos/biom2003.dat"x <- read.table( f )hist( x$Altura ) -> xHist

Histogram of x$Altura

x$Altura

Fre

quen

cy

150 160 170 180 190

05

15

000R Team Sesión 1: Una introducción a R

Page 66: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Ejemplo

xHist

## $breaks## [1] 150 155 160 165 170 175 180 185 190#### $counts## [1] 4 11 19 20 19 12 9 4#### $density## [1] 0.008163265 0.022448980 0.038775510## [4] 0.040816327 0.038775510 0.024489796## [7] 0.018367347 0.008163265#### $mids## [1] 152.5 157.5 162.5 167.5 172.5 177.5 182.5## [8] 187.5#### $xname## [1] "x$Altura"#### $equidist## [1] TRUE#### attr(,"class")## [1] "histogram"

000R Team Sesión 1: Una introducción a R

Page 67: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

Sobre la notaciónElementos de RR: los objetos

Ejemplo

plot( xHist, main = "Distribución estaturas" )lines( xHist$mids, xHist$count,

type="l", col="darkred", lwd = 3 )

Distribución estaturas

x$Altura

Fre

quen

cy

150 160 170 180 190

05

15

000R Team Sesión 1: Una introducción a R

Page 68: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

El desarrollo de los procedimientosEl histórico de la sesiónRR, más allá: reproducible research

Trabajando con R

000R Team Sesión 1: Una introducción a R

Page 69: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

El desarrollo de los procedimientosEl histórico de la sesiónRR, más allá: reproducible research

El desarrollo de los procedimientos

000R Team Sesión 1: Una introducción a R

Page 70: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

El desarrollo de los procedimientosEl histórico de la sesiónRR, más allá: reproducible research

Preparación del área de trabajo

Al iniciar la sesión de trabajo área de trabajo está vacíaPrimero deben cargarse las funciones necesarias

Mediante la función source()Recurriendo a una libreríaRecurriendo a un documento de análisis reproducible

000R Team Sesión 1: Una introducción a R

Page 71: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

El desarrollo de los procedimientosEl histórico de la sesiónRR, más allá: reproducible research

Carga de datos

Se cargan los datos a procesar asignándolos a las variablescorrespondientes.Se realizan los distintos cálculos y se copia el código utilizadoen el block de notas o el editor favorito.

Se utiliza la función savehistory( "miSesion.R" ), desdela consola.En rstudio se utiliza el icono del disquete en la pestaña deHistory para guardar.

000R Team Sesión 1: Una introducción a R

Page 72: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

El desarrollo de los procedimientosEl histórico de la sesiónRR, más allá: reproducible research

Finalizar la sesión de trabajo

Se cierra la sesión y se guarda la sesión y el fichero con elprocedimiento, preferiblemente con la extensión .R

000R Team Sesión 1: Una introducción a R

Page 73: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

El desarrollo de los procedimientosEl histórico de la sesiónRR, más allá: reproducible research

El histórico de la sesión

000R Team Sesión 1: Una introducción a R

Page 74: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

El desarrollo de los procedimientosEl histórico de la sesiónRR, más allá: reproducible research

Creando un fichero de trabajo: script

Figure 12000R Team Sesión 1: Una introducción a R

Page 75: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

El desarrollo de los procedimientosEl histórico de la sesiónRR, más allá: reproducible research

Copiando el histórico

Figure 13000R Team Sesión 1: Una introducción a R

Page 76: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

El desarrollo de los procedimientosEl histórico de la sesiónRR, más allá: reproducible research

Un script para reutilizar

Figure 14000R Team Sesión 1: Una introducción a R

Page 77: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

El desarrollo de los procedimientosEl histórico de la sesiónRR, más allá: reproducible research

RR, más allá: reproducible research

000R Team Sesión 1: Una introducción a R

Page 78: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

El desarrollo de los procedimientosEl histórico de la sesiónRR, más allá: reproducible research

Un fichero Rmd: mezcla de texto y R

Figure 15000R Team Sesión 1: Una introducción a R

Page 79: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

El desarrollo de los procedimientosEl histórico de la sesiónRR, más allá: reproducible research

Rmd: algo más que un scritp

Figure 16000R Team Sesión 1: Una introducción a R

Page 80: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

¿Cómo seguir avanzando con R?¿Más preguntas?

Preguntas

000R Team Sesión 1: Una introducción a R

Page 81: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

¿Cómo seguir avanzando con R?¿Más preguntas?

¿Cómo seguir avanzando con R?

000R Team Sesión 1: Una introducción a R

Page 82: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

¿Cómo seguir avanzando con R?¿Más preguntas?

Cursos de R

Básico, para los interesados: Try R, curso interactivo on linebreve y muy práctico.Cursos on line de las distintas plataformas: Miriada X,Coursera, edX, . . .Open Course Ware (OCW), busca "read.table"CRAN: Contributed DocumentationLibros. . .

000R Team Sesión 1: Una introducción a R

Page 83: Sesión 1: Una introducción a R - gauss.inf.um.esgauss.inf.um.es/00Rteam/intR/materiales/introR_sesion1.pdf · Sobre la notación y la tipografía Elección del directorio de trabajo

IntroducciónR: el lenguaje

Trabajando con RPreguntas

¿Cómo seguir avanzando con R?¿Más preguntas?

¿Más preguntas?

000R Team Sesión 1: Una introducción a R