1. Introduccion a R

15
Una introducción a R Wouter Buytaert [email protected]

description

dsd

Transcript of 1. Introduccion a R

  • Una introduccin a R

    Wouter Buytaert

    [email protected]

  • Lenguajes de programacin y R

    Funcionalidad bsica

    Objetos, clases y funciones

    Funcionalidad adicional: instalar bibliotecas

    El sistema help

    Ejercicios

    Una introduccin a R

  • * Tipos de lenguajes de programacin:

    - lenguajes compilados (C, C++, Fortran)

    - lenguajes interpretados (Matlab, Python, R)

    * Lenguaje tipo orientado a objetos, disponibilidad de clases y mtodos, dispatch etc.

    * Implementacin de cdigo abierto, derivado de S y Scheme

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

    * Es una buena prctica usar scripts de cdigo donde se guarda la historia del anlisise.g. input.R

    interpolacin.R Se puede empezar un nuevo script va el menu file new script

    Lenguajes de programacin y R

  • El prompt:

    > 42/7.3 [enter]> 5 + 6 + 5 + 3 + 4 + 3 + 2 + 5 + 6 + [enter]+ 3 + 2 + 7 [enter]> 2 + 3; 5 - 6; 7 * 4 ; 2^2 [enter]

    Funciones y constantes incluidas:

    > log(10)> exp(1)> tan(pi/4)> cos(pi/2)

    Otros operadores: **, &&, &/&, !, ==, >=, etc.

    Otros funciones: sqrt(x), acos(x), asin(x), choose(n,x), floor(x), ceiling(x), ...

    Funcionalidad bsica

  • Valores especiales

    > 3 / 0

    > -12 / 0

    > exp(-Inf)> 0 / Inf

    > 0 / 0

    > Inf / Inf

    > is.finite(10)> is.infinite(3 / 0)

    Valores perdidos

    > NA

    > log(NA)

  • Guardar variables

    > a a = 16

    > sqrt(a)> a

    Reemplazar variables

    > a rm(a)

    Rastrear las variables presentes en la memoria

    > ls()

    Guardar las variables entre sesiones de R

    > q(save = "yes")

  • Tipos de variables bsicas: logical (lgicos), integer (enteros), real (reales),

    complejo (complejos), string (cadenas de texto), raw (crudos):

    > FALSE | TRUE; FALSE & TRUE> 3 + 5i

    > myname as.raw(16); as.raw(15)

    Muchas veces, R convierte automticamente de un tipo a otro. Sino, se puede

    convertir explcitamente:

    > TRUE * 5

    > as.integer(15.354)> as.character(32)

  • Clculos vectoriales

    > x y x + y; x * y

    > sqrt(x)

    Funciones de vector

    > max(x)> sum(x)> var(x)> cor(x,y)> print(x)> summary(x)> x[1]; x[5:6]

  • R es un lenguaje de programacion orientado a objetos. Usa un paradigma de

    programacin que usa objetos y sus interacciones para disear aplicaciones y

    programas informticos. Est basado en varias tcnicas, incluyendo herencia,

    abstraccin, polimorfismo y encapsulamiento. Algunos conceptos fundamentales

    son:

    Objeto: entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (mtodos)

    Clase: definiciones de las propiedades y comportamiento de un tipo de objeto

    concreto.

    Mtodo: Algoritmo asociado a un objeto. Desde el punto de vista del

    comportamiento, es lo que el objeto puede hacer.

    Objetos, clases y mtodos

  • a class(16)> class(TRUE)> class(log)> class(wouter> sum(wouter)

  • Una clase fundamental en R: el data.frame

    > medicion tiempo personal misdatos misdatos> summary(misdatos)

    > misdatos[1,]> misdatos[,1]> misdatos[, tiempo]> misdatos$tiempo> misdatos[,misdatos$personal == Juan]

    data.frame.R

  • Escribir sus propias funciones en R

    > mifunc misdatos mifunc(misdatos)

  • Mucha gente ha contribuido a la funcionalidad en R. Una lista de paquetes creados por diferentes personas est disponible en el sitio de R (http://cran.r-project.org).

    Instalacin de paquetes:

    > install.packages(sp)> install.packages(rgdal)(Tambin se puede instalar paquetes a travs del menu de windows)

    Cargar paquetes:

    > library(sp)> library(rgdal)

    Funcionalidad adicional: paquetes

  • Sistema de help incluido en R:

    > help.start()

    Informacin sobre una funcin en especial

    > ?read.table

    Si no se recuerda el nombre de la funcin:

    > help.search(data input)

    Encontrar la biblioteca de una funcin:

    > find(lowess)

    Ejemplos:

    > example(lm)

    Mas informacin: http://cran.r-project.org

    El sistema help

  • 1. En qu biblioteca se encuentra la funcin ts() y que hace?

    2. Cul es la diferencia entre las funciones rank() y sort()?

    3. matriz