Una introduccin a R
Wouter Buytaert
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