r. introducción r es una versión del lenguaje de programación s desarrollado por john chambers en...

35
R R

Upload: iago-la-madrid

Post on 06-Feb-2015

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

RR

Page 2: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

IntroducciónIntroducción

R es una versión del lenguaje de programación R es una versión del lenguaje de programación S desarrollado por John Chambers en los S desarrollado por John Chambers en los laboratorios Bell en 1976. laboratorios Bell en 1976.

R fue escrito inicialmente por Robert R fue escrito inicialmente por Robert Gentleman y Ross Ihaka en 1995. Gentleman y Ross Ihaka en 1995.

R es un lenguaje de programación que R es un lenguaje de programación que implementa varios paquetes para análisis implementa varios paquetes para análisis estadísticos. estadísticos.

Page 3: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

R es un lenguaje no tipeado. R es un lenguaje no tipeado.

Se pueden extender las funciones de R Se pueden extender las funciones de R instalando varios paquetes. instalando varios paquetes.

http://cran.r-project.org/mirrors.htmlhttp://cran.r-project.org/mirrors.html

R es un lenguaje interpretado y orientado a R es un lenguaje interpretado y orientado a objetos. objetos.

Page 4: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

Ejecución de R en UNIXEjecución de R en UNIX

RR

R: Copyright 2001, The R Development Core TeamR: Copyright 2001, The R Development Core TeamVersion 1.2.1 (2001-01-15)Version 1.2.1 (2001-01-15)

R is free software and comes with ABSOLUTELY NO R is free software and comes with ABSOLUTELY NO WARRANTY. WARRANTY. You are welcome to redistribute it under certain You are welcome to redistribute it under certain conditionsconditionsType ‘license ()’ or ‘licence()’ for distribution detailsType ‘license ()’ or ‘licence()’ for distribution details>>

Page 5: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

Como funciona RComo funciona R

ObjetosObjetosLas variables, datos, arreglos, etc., se Las variables, datos, arreglos, etc., se guardan en la memoria de la computadora guardan en la memoria de la computadora en forma de objetos, con un nombre en en forma de objetos, con un nombre en específico. El usuario puede modificar o específico. El usuario puede modificar o manipular estos objetos por medio de manipular estos objetos por medio de operadores (aritméticos, logicos) y funciones operadores (aritméticos, logicos) y funciones (otros objetos). (otros objetos).

Page 6: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

Creación de un objeto. Creación de un objeto. > A <- 1> A <- 1

> A = 1> A = 1

> assign(“A”, 1)> assign(“A”, 1)

> A> A[1] 1[1] 1

Los nombres pueden usar dígitos, caracteres Los nombres pueden usar dígitos, caracteres alfanumércios y “.”, “-”. alfanumércios y “.”, “-”.

Los nombres pueden empezar con “.” o letras, Los nombres pueden empezar con “.” o letras, si empieza con “.” el segundo cracter no debe si empieza con “.” el segundo cracter no debe ser un dígito. ser un dígito.

Page 7: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

Durante una sesión los objetos creados son Durante una sesión los objetos creados son almacenados, hasta que se termine la sesión o almacenados, hasta que se termine la sesión o sean removidos. sean removidos.

> ls()> ls()

>objects()>objects()

Ls lista los objetos almacenados en la memoria. Ls lista los objetos almacenados en la memoria. A la colección de objetos almacenados en A la colección de objetos almacenados en memoria se le denomina memoria se le denomina workspaceworkspace

Page 8: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

Para removerlosPara removerlos

> rm(A)> rm(A)

Page 9: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

AyudaAyuda

> ?ls> ?ls

> help(ls)> help(ls)

> help(“ls”)> help(“ls”)

Para ver la ayuda en formato htmlPara ver la ayuda en formato html

> help.start()> help.start()

Page 10: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

ls.strls.str

aproposapropos

c( )c( )

max( ), min ( )max( ), min ( )

sort( )sort( )

:, seq( ):, seq( )

Page 11: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

aproposapropos

La función apropos encuentra todas aquellas La función apropos encuentra todas aquellas funciones cuyo nombre contiene la palabra funciones cuyo nombre contiene la palabra dada como argumento, para los paquetes dada como argumento, para los paquetes cargados en memoria.cargados en memoria.

> apropos(matrix)> apropos(matrix)

> apropos(list)> apropos(list)

> apropos(factor)> apropos(factor)

> apropos(plot)> apropos(plot)

Page 12: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

VectoresVectores

> x <- c(5, 7, 10.4, 6.8, 4.32)> x <- c(5, 7, 10.4, 6.8, 4.32)

> 1 / x> 1 / x

> y <- c(x, 0, x)> y <- c(x, 0, x)

> m <- rep(“ no”, 50)> m <- rep(“ no”, 50)

> s <- sample( c ( “A”, “C”, “G”, “T”), size = 10> s <- sample( c ( “A”, “C”, “G”, “T”), size = 10+ replace = TRUE)+ replace = TRUE)

> e <- 1; e[3] <- 17> e <- 1; e[3] <- 17

Page 13: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

Aritmética con vectores Aritmética con vectores (reciclaje)(reciclaje)

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

> v <- 2 * x + y> v <- 2 * x + y

> a <- (4, 6, 7, 5, 3, 8)> a <- (4, 6, 7, 5, 3, 8)

> v <- 2* a + y> v <- 2* a + y

Page 14: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

c(2, 3) + c( 3, 4, 5)c(2, 3) + c( 3, 4, 5)

c( 2, 3 ) + c( 3, 4, 5, 8 )c( 2, 3 ) + c( 3, 4, 5, 8 )

Page 15: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

Secuencias RegularesSecuencias Regulares

1 : 30 = c( 1, 2, ......, 29, 30)1 : 30 = c( 1, 2, ......, 29, 30)

: Tiene la mayor prioridad en una expresión: Tiene la mayor prioridad en una expresión

1: n - 1 1 : ( n - 1 )1: n - 1 1 : ( n - 1 )

seq ( 2: 5)seq ( 2: 5)

Page 16: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

Vectores LógicosVectores Lógicos

Los operadores lógicos son <, <=, >, >=, Los operadores lógicos son <, <=, >, >=, ==, !===, !=

> vector <- x > 6.1> vector <- x > 6.1

Page 17: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

Combinaciones de Combinaciones de VectoresVectores

expand.grid() crea un marco de datos con expand.grid() crea un marco de datos con todas las combinaciones de vectores todas las combinaciones de vectores proporcionados como argumentosproporcionados como argumentos

> expand.grid(a=c(60, 80), p=c(100, 300), > expand.grid(a=c(60, 80), p=c(100, 300), sexo=c(“m”, “f”))sexo=c(“m”, “f”))

Page 18: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

AtributosAtributos

Los vectores deben tener todos los valores del Los vectores deben tener todos los valores del mismo tipo. (numéricos, complejos, lógicos, mismo tipo. (numéricos, complejos, lógicos, caracteres)caracteres)

mode(objeto)mode(objeto)

length(objeto)length(objeto)

La función as, puede cambiar el modo de un La función as, puede cambiar el modo de un objetoobjeto

as.numeric( x )as.numeric( x )

Page 19: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

N <- (100.75, 98.7, 64.2, 157.5, 236, 103)N <- (100.75, 98.7, 64.2, 157.5, 236, 103)

PromedioPromedio

Desviación estandardDesviación estandard

longitud del vectorlongitud del vector

Vector ordeado de mayor a menorVector ordeado de mayor a menor

Page 20: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

MatricesMatrices

Las matrices o arreglos multidimensionales, Las matrices o arreglos multidimensionales, son vecotores con un vector de dimensión NO son vecotores con un vector de dimensión NO NULONULO

> V <- runif(100)> V <- runif(100)> dim(V) <- c(2, 5, 10)> dim(V) <- c(2, 5, 10)> V> V> V2 <- array( V, dim= c(2, 5, 10)> V2 <- array( V, dim= c(2, 5, 10)> all (V2 == V)> all (V2 == V)dim(V) <- NULLdim(V) <- NULL

Page 21: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

> x <- array(1: 20, dim = c(4, 5))> x <- array(1: 20, dim = c(4, 5))

> i <- array(c(1:3, 3:1), dim= c(3, 2))> i <- array(c(1:3, 3:1), dim= c(3, 2))

> x[i] <- 0> x[i] <- 0

> x> x

Page 22: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

Operaciones con Operaciones con matricesmatrices

solve : X solve : X -1-1

t : Xt : Xtt

outer(%o%) el producto de dos vectores xxouter(%o%) el producto de dos vectores xxtt

kronecker(%x%)kronecker(%x%)

crossprod, tcrossprod: Acrossprod, tcrossprod: Attx, Axx, Axtt

eigeneigen

%*% multiplicacion*%*% multiplicacion*

Page 23: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

Generar un vector del 1 al 100Generar un vector del 1 al 100

Convertirlo a una matriz de 10 * 10Convertirlo a una matriz de 10 * 10

Obtener la suma de los elementos que se Obtener la suma de los elementos que se encuentran en la columna 5encuentran en la columna 5

Obtener su matriz transpuestaObtener su matriz transpuesta

Multiplicar la transpuesta de la matriz, por la Multiplicar la transpuesta de la matriz, por la matriz originalmatriz original

obtener los eigen valores de ambas matricesobtener los eigen valores de ambas matrices

Page 24: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

Secuencias aleatoriasSecuencias aleatorias

Estas funciones son de la forma rfunc(n, p1, Estas funciones son de la forma rfunc(n, p1, p2, ..) donde dunc indica la distribucion, n es el p2, ..) donde dunc indica la distribucion, n es el número de datos generados y p1, p2, ... son número de datos generados y p1, p2, ... son valores que toman los parametros de la valores que toman los parametros de la distribuciondistribucion

Page 25: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente
Page 26: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

d{distribution} densidad de probabilidad d{distribution} densidad de probabilidad acumuladaacumulada

p{distibution} densidad de probabilidadp{distibution} densidad de probabilidad

r{distribution}r{distribution}

q{distribution} el valor del cuartilq{distribution} el valor del cuartil

Page 27: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

Estructuras de contol Estructuras de contol (if)(if)

if (1 == 0 ) {if (1 == 0 ) { print (1 ) print (1 )} else {} else { print (2 ) print (2 )}}

if elseif elseifelse(prueba, valor-verdadero, valor-falso)ifelse(prueba, valor-verdadero, valor-falso)

Page 28: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

x <- 1: 10x <- 1: 10ifelse( x < 5 | x > 8, x, 0)ifelse( x < 5 | x > 8, x, 0)

Page 29: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

forfor

> x <- 1: 10> x <- 1: 10for ( i in 1: length(x)) {for ( i in 1: length(x)) { if ( x[ i ] < 5 ){ if ( x[ i ] < 5 ){ print( 2 ) print( 2 ) } else { } else { print (1) print (1) } }}}

Page 30: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

> while ( i < 10 ) {> while ( i < 10 ) {................}}

i <- 1i <- 1repeat {repeat { if ( i > 10) if ( i > 10) break break print (i) print (i) i <- i + 1 i <- i + 1}}

Page 31: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

FuncionesFunciones

> fx <- function( x, y) {> fx <- function( x, y) {+ x ^y+ x ^y+ }+ }

fx(1:10, 1: 10)fx(1:10, 1: 10)

fx (4, 2)fx (4, 2)

fx(1: 10, 2:5)fx(1: 10, 2:5)

Page 32: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

> fx <- function( x, y) {> fx <- function( x, y) {+ x ^y+ x ^y+ }+ }

fxy(rep(2, 8), seq(2, 16, by 2))fxy(rep(2, 8), seq(2, 16, by 2))

Page 33: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

ExpresionesExpresiones

Una expresion es una serie de caracteres que Una expresion es una serie de caracteres que hace sentido para R, todos los comandos hace sentido para R, todos los comandos válidos son expresiones. válidos son expresiones.

Cuando se escribe un comando en el teclado , Cuando se escribe un comando en el teclado , es evaluado por R y ejecutado si es valido. es evaluado por R y ejecutado si es valido.

expression permite construir una expresion sin expression permite construir una expresion sin evaluarla, esta despues puede ser evaluada evaluarla, esta despues puede ser evaluada con eval. con eval.

Page 34: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

x <- 3; y <- 2; z <- 1;x <- 3; y <- 2; z <- 1;

exp <- expression(x / (y + exp(z)))exp <- expression(x / (y + exp(z)))

eval(exp1)eval(exp1)

Page 35: R. Introducción R es una versión del lenguaje de programación S desarrollado por John Chambers en los laboratorios Bell en 1976. R fue escrito inicialmente

Series de TiempoSeries de Tiempo

La función ts se puede usar con un vector La función ts se puede usar con un vector (serie de tiempo única) o una matriz( serie de (serie de tiempo única) o una matriz( serie de tiempo multivariada)tiempo multivariada)

ts(1: 47, frequency = 12, start = c(1952, 2)ts(1: 47, frequency = 12, start = c(1952, 2)