• No se han encontrado resultados

IntroduccionAlLenguajeR

N/A
N/A
Protected

Academic year: 2020

Share "IntroduccionAlLenguajeR"

Copied!
18
0
0

Texto completo

(1)

Introducción Lenguaje R

Introducción al lenguaje R

Introducción a la minería de datos con aplicaciones

Elmer Fernández12 Cristóbal Fresno1 Diego Arab1

1Grupo de Minería de Datos en Biociencias Universidad Católica de Córdoba

2CONICET

(2)

Introducción Lenguaje R

Agenda

1 Introducción

Historia

Características

2 Lenguaje R

Generalidades Tipos de Datos

(3)

Introducción

Lenguaje R

Historia

Características

Historia

Orígenes...

Lenguaje S

S es un lenguaje desarrollado porBell Labs(1976).

S se inició como un estándar interno para el análisis

estadístico (originalmentelibrerías en Fortran).

1988, se reescribe enC (Versión 3).

1998, sale al mercado laVersión 4.

2004, Insightful implementóS-PLUS(GUI, etc.)

(4)

Introducción

Lenguaje R

Historia

Características

Historia

Orígenes...

Lenguaje R

Res un dialecto de S (está antes en el diccionario).

1991,creadoen Nueva Zelanda por RossIhakay Robert

Gentleman.

1993, primer versión de R para el público.

1995, R pasa a serGNU.

1996, R mailing list.

1997, se crea el R Core Group (con gente de S-PLUS).

2000, R versión1.0.0

2010, R versión2.10.0

(5)

Introducción

Lenguaje R

Historia

Características

Características

Lenguaje descriptingcon sintaxis similar a S.

Alternativa a Matlab, Octave, etc... Esgratuitoymultiplataforma

En Windows, lleva un poco más de trabajo. Ampliamente soportados enLinuxsi se compila!!.

Funcionalidades divididas enpaquetes.

Mucharedundanciay documentación dispersa...

(6)

Introducción

Lenguaje R

Generalidades

Tipos de Datos Estructuras de Control Funciones

Lenguaje R

Conceptos...

¿Cómo está organizado R?

Conceptualmente dividido en 2:

R-base(utils, methods, datasets, stats, graphics...)

R-contribel resto de los paquetes...

Repositorios

Colección de paquetes con diferentes objetivos R-Forge

Bioconductor http://bioconductor.org CRAN http://cran.r-project.org

(7)

Introducción

Lenguaje R

Generalidades

Tipos de Datos Estructuras de Control Funciones

Entornos para R...

En Windows

El provisto por defecto por el instalador (nativo).

Rcmdrprimera interacción (Java,→librería compartida).

Tinn-Rmuy flexible (usamos este!!!).

Si tenemos elerrorsource(.trPaths[5], echo=TRUEAgregar en ../R/etc/Rprofile.site

.trPaths <- paste(paste(Sys.getenv(’APPDATA’), ’\\Tinn-R\\tmp\\’, sep=”), c(”, ’search.txt’, ’objects.txt’,

’file.r’, ’selection.r’, ’block.r’, ’lines.r’), sep=”)

En Linux

Rcmdrpara una primera interacción (Java).

Genome→RGedit.

KDE→RKaward.

(8)

Introducción

Lenguaje R

Generalidades

Tipos de Datos

Estructuras de Control Funciones

Tipos de Datos

Existen5 tipos básicosde datos:

character,numeric,integer,complexylogical.

Contenedores

vectorymatrix→=tipo de datos.

factor, es un vector con“levels”→categóricos u ordinales.

list, lista que permite6=tipos de datos por registro.

data.frame, permite6=tipo de datos por atributo.

Literales

Por defectonumeric salvo con el sufijo “L” integer (ej: 1L).

Especiales:

Inf Ej.: 1/0 o 1/Inf. NA, NaN Not a Number NULL

(9)

Introducción

Lenguaje R

Generalidades

Tipos de Datos

Estructuras de Control Funciones

Operadores

Asignación“=”, “<-”, “->”, “«-” ámbito sup.Ambito“{” , “}”

Indices“$”, slot “@”, “[”=tipo y “[[” tipo contenido

Evaluación atómica“;” Secuencia“:”

Numéricos“+”, “−”, “∗”, “/”, “∧”, “%%”, “%/%” y “%∗%”

Relacionales“>”, “>=”, “<” y “<=”

Lógicos“==”, “! =”, “!”, “kk”, “&&”, “xor(...)”, “|” y “&”

Comentario“#” y “##” según el editor

(10)

Introducción

Lenguaje R

Generalidades

Tipos de Datos

Estructuras de Control Funciones

Atributos

A losobjetosde R se les puede asociaratributos

dim(matrix, data.frame),length(vector, list)

names,dimnanes,colnames,rownames

class

definidos por el usuario, etc.

Funciones asociadas

attributes(...)

(11)

Introducción

Lenguaje R

Generalidades

Tipos de Datos

Estructuras de Control Funciones

Ejemplo I

¿Qué hacen las siguientes sentencias?

x = 1:10; y = 10L; z = 1+5i

x = c("a", "b", "c")

vector("numeric", length = 10) -> x

m <- matrix(1:6, nrow = 2, ncol = 3)

m

dim(m)

attributes(m)

m = 1:10

dim(m) = c(2,5)

m

x <- 1:3; y <- 10:12

(12)

Introducción

Lenguaje R

Generalidades

Tipos de Datos

Estructuras de Control Funciones

Ejemplo II

¿Qué hacen las siguientes sentencias?

x <- list(1, "a", TRUE, 1 + 4i)

x <- factor(c("yes", "yes", "no", "yes"))

table(x); unclass(x)

x <- data.frame(foo = 1:3, bar=c(T, T, F))

nrow(x); ncol(x); names(x)

x$foo; x[[1]]; x[,1] ; x[,-2]; x[1,1]; x[”foo”];x[[”foo”]]

x[1, 2, drop = FALSE]

rep(10,4)

(13)

Introducción

Lenguaje R

Generalidades Tipos de Datos

Estructuras de Control

Funciones

Estructuras de Control

IF

Evaluación de los operadores de izquierda a derecha

1 if(<condicion>){<expresión>}

2 if(<condicion>){<expresiones 1, 2, ...>}

else{<expresiones 1, 2, ...>}

3 if(...){...}else if{...} else{...} 4 ifelse(<test>,<yes>,<no>):?en C++

switch

Devuelve un valor

(14)

Introducción

Lenguaje R

Generalidades Tipos de Datos

Estructuras de Control

Funciones

Estructuras Cíclicas

for

for(i in 1:10) {print(i) }

while i = 1

while(i < 11){ print(i) i=i+1}

repeat i = 1 repeat{

print(i) i=i+1

if(i==11)break}

next→siguiente iteración.

Looping functions

lapply, sobre un list.

apply, sobre una tabla.

sapply, apply simplificado.

(15)

Introducción

Lenguaje R

Generalidades Tipos de Datos Estructuras de Control

Funciones

Funciones

Son objetosde la clase “function”.

Se puedenpasar como parámetrocomo cualquier objeto.

Sintaxis:

fun1 = function(<argumentos>){

## código <return(...) > }

El valor deretornoes laúltima expresión que se evaluó,

(16)

Introducción

Lenguaje R

Generalidades Tipos de Datos Estructuras de Control

Funciones

Parámetros

Nohay pasaje “por referencia”→lexical scoping.

Pueden tenervalor por defecto.

La evaluación de los parámetros estardía→promesas.

Losinferenciade parámetros actuales se realiza por el siguiente orden:

1 Coincidenciaexactade nombre. 2 Coincidenciaparcialde nombre.

3 Por posición.

“...” permite recibir parámetrosadicionalespara otras

(17)

Introducción

Lenguaje R

Generalidades Tipos de Datos Estructuras de Control

Funciones

Depurando código

Resultanútileslas siguientes funciones:

message, simple mensaje en consola.

warning, problema menor sin parada.

stop, problema mayor con parada.

try,tryCatchpara manejo de exepciones.

warnings(),traceback()cuando las cosas explotan!!

(18)

Bibliografía

R project

Documentación en general.

http://www.r-project.org/doc/bib/R-books.html.

Mark Bravington

Debugging without (too many) tears.

Referencias

Documento similar

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

Con respecto a las bibliotecas públicas, está disponible el movimiento de las bibliotecas más importantes de Barcelona y Madrid en los Anuario(s) estadístico(s) de Es- paña, a

A partir de los resultados de este análisis en los que la entrevistadora es la protagonista frente a los entrevistados, la información política veraz, que se supone que

VARIACIONES: Se refiere a los distintos grupos que se pueden formar con m elementos tomados de n en n (siendo n &lt; m), con la condición de que dos grupos serán distinto si

SHIRLEY C., Raines; ISBELL, Rebecca: Cómo contar cuentos a los niños : Relatos y actividades para estimular la creatividad e inculcar valores éticos , Barcelona,

De acuerdo con la teoría de la renta permanente, bajo el supuesto de que los consumidores utilizan expectativas ra- cionales, el cambio en el consumo entre dos años

Porcentaje de radiación solar interceptada (RSI; 0,35 - 2,5 µm) y de radiación fotosintéticamente activa interceptada (RFAI) a lo largo del ciclo de cultivo para las

Firmaron, por parte de GRANTECAN, Pascual Fernández Martínez, Presidente del Consejo de Administración y Director General de Análisis y Programación Presupuestaria del Ministerio