Вы находитесь на странице: 1из 35

Introduccion Lenguaje R Manejo de datos

INTRODUCCI

ON AL PROGRAMA ESTAD

ISTICO R
Ambrosio Torres
5 de Septiembre 2012
30 de agosto de 2012
1 / 35
INTRODUCCI

ON AL PROGRAMA ESTAD

ISTICO R
Introduccion Lenguaje R Manejo de datos
http://tux.uis.edu.co/labsist/
Presentacion
Ambrosio Torres Galvis
Laboratorio de Sistematica & Biogeografa
Coleccion de entomologa
Estadstica, morfometra geometrica,
tabanos...
R para Chinchombianos
http://rchibchombia.blogspot.com/
2 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
3 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
http://cran.r-project.org/
Enamorado de R
Mas que un programa
Lenguaje de programacion
Objetos, funciones y paquetes propios
Mas de 2000 paquetes disponibles en
CRAN
Documentacion individual por paquetes
http://blog.fosstrading.com/
4 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
http://www.r-bloggers.com/
Enamorado de R
Facil reproducir y actualizar los analisis
GRATIS!!! y Open Source :D
Itegracion con otros lenguajes (C++,
Java, Phyton)
Con otros programas (Excel, SAS, SPSS,
Stata , Minitab)
http://blog.fosstrading.com/
5 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
http://muygeek.com/
Instalacion (Windows)
R-2.15.1-win.exe.
32 y/o 64 bits (defecto)
Seguir las instrucciones
http://www.r-project.org/
6 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
http://www.todoavatar.com/linux-force/
Instalacion (Linux)
konsole
sudo apt-get update
sudo apt-get install r-base-dev
http://www.r-project.org/
7 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
Paquetes
Extensi on de la base de R (Codigo, datos y documetacion estandarizada)
Artculo: distribuye ideas a otros
Paquete: distribuye metodologa estadstica a otros
(Friedrich Leisch, 2009)
library()
2 formas: internet y .zip/.tar
Paquetes para Biologa
http://rchibchombia.blogspot.com/2011/01/paquetes-de-interes-comun-y-especico.html
8 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
Paquetes, desde internet
install.packages (phangorn)
Elecci on de un servidor/repositorio
library (phangorn)
Va rapida
Problemas con paquetes auxiliares
http://www.r-project.org/
9 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
Paquetes, desde .zip/.tar
Windows: GUI
lattice 0.20-10.tar.gz
paquetes/instalar paquete(s) a partir de archivos zip locales...
library (lattice)
linux: konsole
R CMD INSTALL knitr 0.7.tar.gz
R CMD INSTALL /home/ambrosio/Escritorio/knitr 0.7.tar.gz
library (knitr)
http://www.r-project.org/
10 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
Repositorios
Ubicaci on de almacenamiento de los paquetes que pueden ser recuperados e
instalados
Colombia: Icesi y Unal
CRAN: mirrors (http://cran.r-project.org/mirrors.html)
Fuera de CRAN: repositorios independientes
Polytomy resolver (http://onlinelibrary.wiley.com/doi/10.1111/j.2041-
210X.2011.00103.x/suppinfo)
(Friedrich Leisch, 2009)
11 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
http://www.statmethods.net/
Argumentos y comandos (ArgyCom)
Comando: orden, instruccion o mandato
Argumento: Parametros de entrada,
modican el comportamiento del comando
Interaccion del usuario con el computador
Miles de comandos en R (Imposible
aprenderse mas de 30)
Buena idea: entender en lenguaje y el
funcionamiento
http://es.wikipedia.org/wiki/Comando
(
informatica)
12 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
ArgyCom: Interactividad
>(en espera de una orden (comando), como en UNIX)
$ R #(entrar a R, linux/konsole)
Doble click en el icono (entrar a R, Windows)
>q () #(salir de R, linux y windows)
Save workspace image? [y/n/c]:
http://cran.r-project.org/doc/manuals
13 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
http://www.fondear.org/
ArgyCom: S.O.S
>help (plot) #(ayuda con funciones
especcas)
>?plot
>help([[) #(caracteres)
>help.start() #(Web)
>??plot #(b usqueda en varios modos)
>?help #(sistema ayuda adicional: Win)
http://cran.r-project.org/doc/manuals/
14 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
http://aniotai.blogspot.com/
ArgyCom: Rellamado y correccion de
comandos
Sensibilidad altsima!! (. , ; ....etc)
+ (comando incompleto)
# (comentarios)
Direccion vertical (buscar/ejecutar
comandos anteriores)
Direccion horizontal +
borrar(Correccion de comandos)
>source(commands.R) #(archivo
externo)
http://cran.r-project.org/doc/manuals/
15 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
The Nightmare, Henry Fuseli
ArgyCom: Objetos
Entidades creadas por R
Variables, arrays de n umeros, funciones,
datos...etc
>objects () #(listar)
>rm(x, y, rme, sano,) #(remover)
Es posible guardar objetos al igual que
comandos.
http://cran.r-project.org/doc/manuals/
16 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
http://villains.wikia.com/ (Vector, Despicable Me)
ArgyCom: Vectores/asignacion
Estructura de datos mas simple
Coleccion ordenada de n umeros
>x <- c(10.4, 5.6, 3.1, 6.4, 21.7)
>assign(x, c(10.4, 5.6, 3.1, 6.4, 21.7))
>c(10.4, 5.6, 3.1, 6.4, 21.7) - >x
>y <- c(x, 0, x)
http://cran.r-project.org/doc/manuals/
17 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
Judit y Holofernes, Michelangelo da Caravaggio
ArgyCom: Vectores/aritmetica
Operaciones elemento X elemento
>v <- 2x + y +1
>u <- sum((x- mean(x))2)/(length(x)-
1)
>sqrt(- 17) # (n umeros complejos)
>sqrt(- 17 + 0i)
http://cran.r-project.org/doc/manuals/
18 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
ArgyCom: Secuencias regulares y vectores logicos
>sec <- c(1:6)
>sec2 <- c(2*sec)
>sec3 <- seq(10,20)
>seq(- 3, 2, by=.4) - >sec4
>sec5 <- seq(length=47, from=- 8, by=.7)
>sec6 <- rep(sec, times=6) ; >sec7 <- rep(sec, each=3)
>es o no es <- sec6 >2
http://cran.r-project.org/doc/manuals/
19 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
ArgyCom: Vectores de caracteres
Creacion de vectores de etiquetas/nombres
>etiquetas <- paste(c(X,Y), 1:10, sep= )
>etiquetas2 <- c(X1, Y2, X3, Y4, X5, Y6, X7, Y8,
X9, Y10)
>etiquetas3 <- paste(c(sp), 1:16, sep= )
>etiquetas3 <- paste(c(lat,lon), sep= )
>gis <- rep(etiquetas3, times=15)
http://cran.r-project.org/doc/manuals/
20 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
ArgyCom: Subsets
>x <- c(15:35)
>y <- x[1:8] # (primeros 8 elementos de x)
>y2 <- x[-(1:5)] # (x - 5 primeros elementos)
>edad <- c(49, 60, 53, 62, 50, 51, 68)
>names(edad) <-c(F Paez, C Garcia, G Cerati, L Spinetta,
D Gahan, A Calamaro, R Waters)
>ingleses <- edad[c(D Gahan, R Waters)]
(http://cran.r-project.org/doc/manuals/)
(http://rchibchombia.blogspot.com/2011/12/entrada-y-manejo-de-datos-en-r-guia.html)
21 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
El Inerno, Gustave Dore (Para la Divina comedia)
Programacion: El Inerno en Biologa
John M. Chambers, 1998
Basado en S, similar a C
Algunos: R, para solamente analizar datos
Otros: Funciones propias, paquetes
propios, uso interactivo, Reproducible
Research
Inicialmente es lento y en ocasiones
complicado :(
22 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
El Paraso, Gustave Dore (Para la Divina comedia)
La iluminacion: El lenguaje
Idioma articial para expresar procesos
llevados a cabo por computadoras
Estructura basica de un paquete: archivos
DESCRIPTION (descripcion del paquete)
man/ (subdirectorio de documentacion de
archivos)
R/ (subdirectorio del codigo R)
data/ (subdirectorio de set de datos)
(Friedrich Leisch, 2009)
23 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
http://andresdelarosa.blogspot.com/
Estructuras de datos
Vectores
Matrices
Arrays
Data Frames
Listas
Factores
http://www.statmethods.net/ (Quick R)
24 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
Matrices
Elementos del mismo modo (n umerico, caracter, etc)
>mymatriz <- matrix(vector, nrow=r, ncol=c, byrow=FALSE,
dimnames=list(char vector rownames, char vector colnames))
>raton <- matrix(42:83, nrow=7,ncol=6)
>alcohol <- c(5,4,8,6,1,0.5)
>columnas <- c(Mariana, Andres, Yo)
>las <- c(Aguardiente, Tequila)
>ebrio <- matrix(alcohol, nrow=2, ncol=3, byrow=FALSE,
dimnames=list(las, columnas))
http://www.statmethods.net/ (Quick R)
25 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
Arrays
Generalizacion de una matriz : multidimensionalidad
>matriz1 <- matrix(1:18, nrow=9,ncol=2)
>matriz2 <- matrix(18:35, nrow=9,ncol=2)
>matriz3 <- matrix(35:52, nrow=9,ncol=2)
>primer array <- array(cbind(matriz1, matriz2, matriz3), dim=c(9, 2, 3 ))
>primer array
http://rchibchombia.blogspot.com/2011/03/como-manejo-mis-coordenadas-arrays-en-r.html
26 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
Data Frames
Mas general que una matriz, (elementos de diferentes modos)
>a <- c(1, 2, 3, 4.5, 8, NA)
>b <- c(blanco, negro, NA, amarillo, NA, verde)
>c <- c(TRUE,TRUE,TRUE,FALSE,FALSE,TRUE)
>miframe <- data.frame(a,b,c)
>names(miframe) <- c(identidad,color,suave)
>miframe
http://www.statmethods.net/ (Quick R)
27 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
Elementos de un Frame
>miframe[1:2] # (columnas 1 y 2 del frame)
>miframe[c(identidad,suave)] # (columnas identidad y suave del
frame)
>miframe$color # ( variable color del frame)
A todos los tipos de datos es posible extraerles elementos
http://www.statmethods.net/ (Quick R)
http://rchibchombia.blogspot.com/2011/12/entrada-y-manejo-de-datos-en-r-guia.html
28 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
Listas
Coleccion que permite reunir una variedad de (posiblemente sin relacion)
objetos bajo un mismo nombre
>lista1 <- list(name=Druon, mynumbers=a, mymatrix=raton, age=5.3)
Una lista puede contener dos listas
>lista1[[3]])
>lista1[[mynumbers]]
http://www.statmethods.net/ (Quick R)
http://rchibchombia.blogspot.com/2011/12/entrada-y-manejo-de-datos-en-r-guia.html
29 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
Factores
>medallas <-c(rep(oro,1), rep(plata, 3), rep(bronce, 4))
>medallas <- factor(medallas)
>summary (medallas)
Medallas como una variable nominal
http://www.statmethods.net/ (Quick R)
30 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
http://blog.chefuri.com/
Importando datos de Excel
>library(RODBC)
>canal<-
odbcConnectExcel(miexcel.xls)
>misdatos <-sqlFetch(canal, mysheet)
>odbcClose(canal)
http://www.statmethods.net/ (Quick R)
31 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
Rodillas, Hans Peter Feldmann
Entrada y manejo de datos en R (gua
basica)
Rutina practica
R para Chibchombianos
Bases de datos, archivos separados por
comas (.csv)
Bases de datos, archivos separados por
espacios/Tab (.txt)
B usqueda de elementos en estos archivos
http://rchibchombia.blogspot.com/2011/12/entrada-y-manejo-
de-datos-en-r-guia.html
32 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
http://es.123rf.com/
Exportando datos de R
>write.table(miobjeto, miarchivo.txt,
sep=\t)
>write.csv(miobjeto, miarchivo.csv)
>library(xlsReadWrite)
>write.xls(miobjeto, miarchivo.xls)
http://www.statmethods.net/ (Quick R)
33 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
(http://menugget.blogspot.com/) (R + biOps,
Sabado Negro(7 Sep, 1940), Foto: R. Holmes)
Exportando gracos de R
Windows: (GUI)
>pdf(migraco.pdf) # (PDF)
>win.metale(migraco.wmf) #
(windows meta le)
>png(migraco.png) # (png)
>jpeg(migraco.jpg) # (jpg)
>bmp(migraco.bmp) # (mapa de
bits)
>plot(objeto)
>dev.o()
http://www.statmethods.net/ (Quick R)
34 / 35
Introduccion a R
Introduccion Lenguaje R Manejo de datos
http://www.latex-project.org/; http://www.linux.com/
Ambrosio Torres
atorresgalvis@gmail.com ; ambrosio.torres@correo.uis.edu.co
http://tux.uis.edu.co/labsist/ ;
http://rchibchombia.blogspot.com/
35 / 35
Introduccion a R

Вам также может понравиться