Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Ernesto De Frías - edefrias@gmail.com 2015
Ernesto De Frías - edefrias@gmail.com 2015
R es un software libre,
abierto y gratuito
especializado en
estadísticas que pe...
Ernesto De Frías - edefrias@gmail.com 2015
En R, un objeto es el resultado de
una operación. Ejemplo: a=2+2 aquí
"a" es un...
Ernesto De Frías - edefrias@gmail.com 2015
Objetos
Objetos
Vectores
a <-
c(1,2,5.3,6,-
2,4)
# vector
numérico
b <-
c("uno"...
Ernesto De Frías - edefrias@gmail.com 2015
En programación es muy importante que seas
cuidados@ al digitar los códigos.
En...
Ernesto De Frías - edefrias@gmail.com 2015
Las librerías o "paquetes"
amplían la "potencia" de R.
Existen paquetes para
di...
Ernesto De Frías - edefrias@gmail.com 2015
Existen muchas comunidades
de programadores
desarrollando paquetes de R.
Existe...
Ernesto De Frías - edefrias@gmail.com 2015
Las funciones son ORDENES
que permiten realizar una
tarea.
Generalmente todas l...
Ernesto De Frías - edefrias@gmail.com 2015
cadena_lugar<-c("AEROP. ARROYO BARRIL","AEROP. JOAQUIN
BALAGUER","AEROPUERTO CA...
Ernesto De Frías - edefrias@gmail.com 2015
cadenatempmin<- c(23.2,25,23.5,27,22) #CREA EL OBJETO
"CADENATEMPMIN" CON LOS D...
Ernesto De Frías - edefrias@gmail.com 2015
tabladt<-
data.frame(cadena_lugar,cadenatempmax,cadenatem
pmin,cadenalluvia) #C...
Ernesto De Frías - edefrias@gmail.com 2015
Cálculos hechos en EXCEL y R
Ernesto De Frías - edefrias@gmail.com 2015
cadena_lugar<-c("AEROP. ARROYO BARRIL","AEROP. JOAQUIN BALAGUER","AEROPUERTO CA...
Ernesto De Frías - edefrias@gmail.com 2015
max(cadenatempmax, na.rm=TRUE) #CALCULA EL VALOR MAXIMO DEL OBJETO "CADENATEMPM...
Ernesto De Frías - edefrias@gmail.com 2015
Excel puede guardar (exportar) los datos de cualquier TABLA al formato CSV. Se ...
Ernesto De Frías - edefrias@gmail.com 2015
tabladt2
# MUESTRA EL CONTENIDO DEL OBJETO “TABLADT2”
str(tabladt2)
# MUESTRA L...
Ernesto De Frías - edefrias@gmail.com 2015
# EXTRAER SOLAMENTE LOS DATOS DE LA COLUMNA
2 (VECTOR 2- V2) O TEMPERATURA MAXI...
Ernesto De Frías - edefrias@gmail.com 2015
Resumen de las sentencias
tabladt2<-read.csv("d:/onamet.csv", header=FALSE) # C...
Ernesto De Frías - edefrias@gmail.com 2015
Ayuda de R
help.start()
help.search(elemento a buscar)
help(“función”)
?”comand...
Ernesto De Frías - edefrias@gmail.com 2015
•Ver el directorio de trabajo: getwd()
•Cambiar el directorio de trabajo: setwd...
Ernesto De Frías - edefrias@gmail.com 2015
Sentencias útiles
•Operaciones con matrices:
mat[4,2] # muestra la 4ª fila y la...
Ernesto De Frías - edefrias@gmail.com 2015
•Obtener los nombres de las columnas de un DATAFRAME:
names(data.fr)
•Obtener l...
Ernesto De Frías - edefrias@gmail.com 2015
Sentencias útiles
datosnuevos <- na.omit(mis_datos)
Crea objeto DATOSNUEVOS des...
Ernesto De Frías - edefrias@gmail.com 2015
Sentencias útiles
length(v)
min(v)
max(v)
sum(v)
prod(v)
mean(v)
median(v)
var(...
Ernesto De Frías - edefrias@gmail.com 2015
Sentencias útiles
# MUESTRA LAS VARIABLES DE MISDATOS
names(misdatos)
# MUESTRA...
Ernesto De Frías - edefrias@gmail.com 2015
Ventajas de usar R
Manipulación de datos. R te permite manipular (seleccionar, ...
Ernesto De Frías - edefrias@gmail.com 2015
R Studio
R está desarrollando su interfaz gráfica para hacer más fácil
la progr...
Ernesto De Frías - edefrias@gmail.com 2015
FUENTESDisdier, Orville M. (año desconocido). Estadística Descriptiva e Inferen...
Upcoming SlideShare
Loading in …5
×

Simplificando R - Aprende R en minutos

634 views

Published on

Estadísticas para la ciencia - R Cran

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

Simplificando R - Aprende R en minutos

  1. 1. Ernesto De Frías - edefrias@gmail.com 2015
  2. 2. Ernesto De Frías - edefrias@gmail.com 2015 R es un software libre, abierto y gratuito especializado en estadísticas que permite programación. Para interactuar con R lo hacemos mediante la CONSOLA (console). La consola interpreta el lenguaje de programación R orientado a OBJETOS. Generalidades
  3. 3. Ernesto De Frías - edefrias@gmail.com 2015 En R, un objeto es el resultado de una operación. Ejemplo: a=2+2 aquí "a" es un objeto alojado en la memoria de R En R, la operación más simple sería pedir el valor de un objeto. Ejemplo: > a ... el sistema devuelve ... [1] 4 Un objeto puede ser creado con el operador “asignar” el cual se visualiza como una flecha así... “<-”. También puedes usar el signo de igual "=“. Orientado a objetos
  4. 4. Ernesto De Frías - edefrias@gmail.com 2015 Objetos Objetos Vectores a <- c(1,2,5.3,6,- 2,4) # vector numérico b <- c("uno","dos","tres") # vector de caracteres c <- c(TRUE,TRUE,TRU E,FALSE,TRUE,FAL SE) # vector lógico Matrices Arreglo de filas y columnas. En las matrices todas las columnas deben tener el mismo tipo de datos y la misma longitud. Arreglos Un arreglo de 2 dimensiones es lo mismo que una matriz. Los arreglos pueden tener 3 dimensiones. Data Frames Son similares a las matrices pero contienen datos de diferentes tipos (numéricos, caracteres, etc...) Listas Están compuestas por una colección ordenada de objetos. Son combinaciones de elementos. Se pueden crear utilizando: c(), seq() o rep()
  5. 5. Ernesto De Frías - edefrias@gmail.com 2015 En programación es muy importante que seas cuidados@ al digitar los códigos. En R, debes tener cuidado con las mayúsculas y minúsculas. Ejemplo: "g" es diferente a "G“. Cualquier texto posterior a “# ” es ignorado por la consola de R. # se utiliza ara realizar comentarios. Consideraciones
  6. 6. Ernesto De Frías - edefrias@gmail.com 2015 Las librerías o "paquetes" amplían la "potencia" de R. Existen paquetes para diferentes funcionalidades. Asegúrate de que exista algún paquete (y que esté cargado) para la operación que necesitas. Para poder utilizar los paquetes debes cargarlos cada vez que inicialices a R. Paquetes de R Para instalar los paquetes, necesitas conexión WEB. Igual que R, los paquetes se instalan una sola vez.
  7. 7. Ernesto De Frías - edefrias@gmail.com 2015 Existen muchas comunidades de programadores desarrollando paquetes de R. Existen paquetes para casi todas las necesidades. Los paquetes deben ser cargados a la memoria en cada sesión. Carga solo los paquetes que necesites. Así tu sistema será más eficiente en el manejo de la memoria. Paquetes de R
  8. 8. Ernesto De Frías - edefrias@gmail.com 2015 Las funciones son ORDENES que permiten realizar una tarea. Generalmente todas las funciones pertenecen a algún paquete. Excepto las básicas. Las funciones vienen acompañadas de paréntesis. Ejemplo: length() o date() En general, todas las funciones necesitan datos dentro del paréntesis para poder funcionar. Ejemplo: length(cadenadt) Funciones Las funciones más básicas como la fecha, no necesitan datos dentro de los paréntesis.
  9. 9. Ernesto De Frías - edefrias@gmail.com 2015 cadena_lugar<-c("AEROP. ARROYO BARRIL","AEROP. JOAQUIN BALAGUER","AEROPUERTO CATEY","AEROPUERTO DE BARAHONA","AEROPUERTO LA ROMANA") # CREA EL OBJETO "CADENA_LUGAR" CON EL TEXTO ENTRE COMILLAS Y SEPARADOS POR COMA Y ESCRITOS DIRECTAMENTE POR TECLADO cadenatempmax<- c(32.3,32.2,32,32.4,33.2) #CREA EL OBJETO "CADENATEMPMAX" CON LOS DATOS NUMERICOS SUMINISTRADOS, SEPARADOS POR COMA Y ESCRITOS DIRECTAMENTE POR TECLADO cadenatempmax #MUESTRA EL CONTENIDO DEL OBJETO "CADENATEMPMAX" Ejercicio Calcular los promedios (media) de cada columna, los valores mínimos y los máximos Cargando datos vía teclado
  10. 10. Ernesto De Frías - edefrias@gmail.com 2015 cadenatempmin<- c(23.2,25,23.5,27,22) #CREA EL OBJETO "CADENATEMPMIN" CON LOS DATOS NUMERICOS SUMINISTRADOS, SEPARADOS POR COMA Y ESCRITOS DIRECTAMENTE POR TECLADO cadenatempmin #MUESTRA EL CONTENIDO DEL OBJETO "CADENATEMPMIN" cadenalluvia<- c(NA,NA,NA,4.8,NA) #CREA EL OBJETO "CADENALLUVIA" CON LOS DATOS NUMERICOS SUMINISTRADOS, SEPARADOS POR COMA Y ESCRITOS DIRECTAMENTE POR TECLADO cadenalluvia #MUESTRA EL CONTENIDO DEL OBJETO "CADENALLUVIA"
  11. 11. Ernesto De Frías - edefrias@gmail.com 2015 tabladt<- data.frame(cadena_lugar,cadenatempmax,cadenatem pmin,cadenalluvia) #CREA UN DATA FRAME (TABLA) "TABLADT" CON LAS DIFERENTES CADENAS CREADAS Y CONTENIDOS DIFERENTES (NUMEROS Y TEXTO) POR ESO USAMOS LA FUNCION DATA.FRAME tabladt #MUESTRA EL CONTENIDO DEL OBJETO "TABLADT"
  12. 12. Ernesto De Frías - edefrias@gmail.com 2015 Cálculos hechos en EXCEL y R
  13. 13. Ernesto De Frías - edefrias@gmail.com 2015 cadena_lugar<-c("AEROP. ARROYO BARRIL","AEROP. JOAQUIN BALAGUER","AEROPUERTO CATEY","AEROPUERTO DE BARAHONA","AEROPUERTO LA ROMANA") # CREA EL OBJETO "CADENA_LUGAR“ cadena_lugar #MUESTRA EL CONTENIDO DEL OBJETO "CADENA_LUGAR“ cadenatempmax<- c(32.3,32.2,32,32.4,33.2) cadenatempmin<- c(23.2,25,23.5,27,22) cadenalluvia<- c(NA,NA,NA,4.8,NA) #CREA OBJETOS "CADENATEMPMAX“ "CADENATEMPMIN“ “CADENALLUVIA” tabladt<-data.frame(cadena_lugar,cadenatempmax,cadenatempmin,cadenalluvia) #CREA UN DATA FRAME (TABLA) "TABLADT" CON LAS DIFERENTES CADENAS tabladt #MUESTRA EL CONTENIDO DEL OBJETO "TABLADT" Resumen de las sentencias
  14. 14. Ernesto De Frías - edefrias@gmail.com 2015 max(cadenatempmax, na.rm=TRUE) #CALCULA EL VALOR MAXIMO DEL OBJETO "CADENATEMPMAX“ y REMUEVE (EXCLUYE) LOS VALORES "NA" min(cadenatempmin, na.rm=TRUE) #CALCULA EL VALOR MINIMO DEL OBJETO "CADENATEMPMIN“ y REMUEVE (EXCLUYE) LOS VALORES "NA" mean(cadenatempmax, na.rm=TRUE) #CALCULA EL VALOR PROMEDIO DEL OBJETO "CADENATEMPMAX“ y REMUEVE (EXCLUYE) LOS VALORES "NA" mean(cadenatempmin, na.rm=TRUE) #CALCULA EL VALOR PROMEDIO DEL OBJETO "CADENATEMPMIN“ y REMUEVE (EXCLUYE) LOS VALORES "NA" max(cadenalluvia, na.rm=TRUE) #CALCULA EL VALOR MAXIMO DEL OBJETO "CADENALLUVIA“ y REMUEVE (EXCLUYE) LOS VALORES "NA" min(cadenalluvia, na.rm=TRUE) #CALCULA EL VALOR MINIMO DEL OBJETO "CADENALLUVIA“ y REMUEVE (EXCLUYE) LOS VALORES "NA" mean(cadenalluvia, na.rm=TRUE) #CALCULA EL VALOR PROMEDIO DEL OBJETO "CADENALLUVIA“ y REMUEVE (EXCLUYE) LOS VALORES "NA" Resumen de las sentencias
  15. 15. Ernesto De Frías - edefrias@gmail.com 2015 Excel puede guardar (exportar) los datos de cualquier TABLA al formato CSV. Se trata de un archivo estandarizado que contiene los datos separados por coma. Para R, es muy sencillo leer datos desde un archivo con los datos separados por coma (CSV). No importa si el contenido tiene 5 líneas de registros o 50 mil. En nuestro caso, colocamos el archivo ONAMET.CSV en la raíz del disco D y para ello usamos la función READ(). R también puede leer un archivo cualquiera desde la misma web. En este caso el archivo se llama DATOSENWEB.CSV Ejemplo: tabladatos<-read.csv("http://directo/r/datosenweb.csv") # LECTURA AUTOMATICA DESDE ARCHIVO # R PUEDE LEER EL CONTENIDO DE UN ARCHIVO AUTOMATICAMENTE EVITANDONOS TENER QUE DIGITAR DATOS INMENSOS # VAMOS A LEER LOS DATOS DEL ARCHIVO DE EXCEL SIN TENER QUE DIGITARLOS tabladt2<-read.csv("d:/onamet.csv", header=FALSE) # CREA EL OBJETO “TABLADT2“ CON LOS DATOS DE “ONAMET.CSV” E INDICA QUE NO EXISTE ENCABEZADO Ejercicio Cargando datos vía un archivo externo
  16. 16. Ernesto De Frías - edefrias@gmail.com 2015 tabladt2 # MUESTRA EL CONTENIDO DEL OBJETO “TABLADT2” str(tabladt2) # MUESTRA LA ESTRUCTURA DEL OBJETO “TABLADT2” OBSERVAMOS QUE EL OBJETO “TABLADT2” ES UN “DATA FRAME”. ES DECIR, UN TIPO DE MATRIZ CON DATOS DE TIPOS DIFERENTES.
  17. 17. Ernesto De Frías - edefrias@gmail.com 2015 # EXTRAER SOLAMENTE LOS DATOS DE LA COLUMNA 2 (VECTOR 2- V2) O TEMPERATURA MAXIMA, DE LA MATRIZ “TABLADT2” cadenatmax<- na.omit(tabladt2 [,2]) # EL NUMERO 2 ENTRE [] SIGNIFICA EXTRAER LA COLUMNA (VECTOR) 2 Y LO ASIGNA A LA “CADENADT2” # LA COMA QUE ANTECEDE AL 2 INDICA QUE LOS DATOS PERTENECEN A UN DATA FRAME # NA.OMIT REMUEVE LOS DATOS “NA” # CALCULAR LA TEMPERATURA PROMEDIO DE LAS TEMPERATURAS MÁXIMAS EN LA COLUMNA 2 tempmaxprom<- mean(cadenatmax)
  18. 18. Ernesto De Frías - edefrias@gmail.com 2015 Resumen de las sentencias tabladt2<-read.csv("d:/onamet.csv", header=FALSE) # CREA EL OBJETO “TABLADT2“ CON LOS DATOS DE “ONAMET.CSV” tabladt2 # MUESTRA EL CONTENIDO DEL OBJETO “TABLADT2” str(tabladt2) # MUESTRA LA ESTRUCTURA DEL OBJETO “TABLADT2” cadenatmax<- na.omit(tabladt2 [,2]) # EXTRAE LOS DATOS DE LA COLUMNA 2 (VECTOR 2 - V2) Y CREA UNA CADENA tempmaxprom<- mean(cadenatmax) # CALCULA LA TEMPERATURA PROMEDIO DE LAS TEMPERATURAS MÁXIMAS tempmaxprom # MUESTRA LA TEMPERATURA PROMEDIO DE LAS TEMPERATURAS MÁXIMAS
  19. 19. Ernesto De Frías - edefrias@gmail.com 2015 Ayuda de R help.start() help.search(elemento a buscar) help(“función”) ?”comando” Presenta un HTML con la ayuda de R Búsqueda de un elemento Búsqueda de una función (comillas son importantes) Búsqueda de un comando (comillas son importantes)
  20. 20. Ernesto De Frías - edefrias@gmail.com 2015 •Ver el directorio de trabajo: getwd() •Cambiar el directorio de trabajo: setwd("path") •Ver los objetos y variables del espacio de trabajo: ls() u objects() •Borrar un objeto del espacio de trabajo: rm(x) •Crear un vector: x=c(1,2,4,8,16) y=c(1:10) z=c(rnorm(n)) •Operaciones con vectores: x=c(x)+n # suma 'n' a cada elemento z=c(x,y) # combina 2 vectores creando uno lineal z=cbind(x,y) # combina 2 vectores creando una matriz de 2 columnas z=rbind(x,y) # combina 2 vectores creando una matriz de 2 filas replace(x,x==0,NA) # sustituye los ceros por NA Sentencias útiles
  21. 21. Ernesto De Frías - edefrias@gmail.com 2015 Sentencias útiles •Operaciones con matrices: mat[4,2] # muestra la 4ª fila y la 2ª columna mat[3,] # muestra la 3ª fila mat[,2] # muestra la 2ª columna mat[,-3] # borra la 3ª columna mat[-2,] # borra la 2ª fila mat[1:3,3:5] # mestra las filas 1 a 3 y las columnas 3 a 5 •Crear un DATAFRAME a partir de vectores (cada vector una columna del frame): data.fr=data.frame(x1,x2,x3 …) •Conocer si un objeto es un DATAFRAME : is.data.frame(mat) •Convertir un DATAFRAME en matriz: as.matrix(data.frame)
  22. 22. Ernesto De Frías - edefrias@gmail.com 2015 •Obtener los nombres de las columnas de un DATAFRAME: names(data.fr) •Obtener los nombres de las filas de un DATAFRAME : row.names(data.fr) •Obtener el número de filas de un DATAFRAME : nrow(data.fr) •Ver las primeras filas del DATAFRAME : head(data.fr, n=10) # las 10 primeras líneas •Crear vectores con el nombre de cada columna del DATAFRAME (y sus datos) attach(data.fr) detach(data.fr) # borrar los vectores •Filtrar un DATAFRAME para obtener un subconjunto de datos y guardarlo en otro frame: subset.frame<-subset(data.fr,colA>=5 & !is.na(colB) | ColC='V') subset.frame<-subset(data.fr,complete.cases(data.fr)) # Obtener únicamente las filas con datos en todas sus columnas Sentencias útiles
  23. 23. Ernesto De Frías - edefrias@gmail.com 2015 Sentencias útiles datosnuevos <- na.omit(mis_datos) Crea objeto DATOSNUEVOS desde MIS_DATOS excluyendo los “NA”. is.na(x) Devuelve TRUE si los datos de X son “NA” na.rm=TRUE Remueve los NA ## Uniendo los DATAFRAMEs con merge AB <- merge(A, B) # une A con B ABC <- merge(AB, C) # a la unión de A y B le agrega C ABCD <- merge(ABC, D) # a la unión de A, B y C le agrega D ABCD # resultado final
  24. 24. Ernesto De Frías - edefrias@gmail.com 2015 Sentencias útiles length(v) min(v) max(v) sum(v) prod(v) mean(v) median(v) var(v) sd(v) cor(v,w) sort(v) Largo del vector v Mínimo Máximo Suma de todos los elementos de v Producto de los elementos de v Media Mediana Varianza Desviación estándar Correlación entre dos vectores Organiza los elementos en forma ascendente
  25. 25. Ernesto De Frías - edefrias@gmail.com 2015 Sentencias útiles # MUESTRA LAS VARIABLES DE MISDATOS names(misdatos) # MUESTRA LA ESTRUCTURA DE MISDATOS str(misdatos) # MUESTRA LOS NIVELES DEL FACTOR v1 EN MISDATOS levels(misdatos$v1) # MUETRA LAS DIENSIONES DE UN OBJETO dim(objeto) # MUESTRA LA CLASE DE UN OBJETO (númerico, matriz, data frame,…) class(object) # MUESTRA MISDATOS misdatos # MUESTRA LOS 10 PRIMEROS REGISTROS DE MISDATOS head(misdatos, n=10) # MUESTRA LOS 5 ULTIMOS REGISTROS DE MISDATOS tail(misdatos, n=5)
  26. 26. Ernesto De Frías - edefrias@gmail.com 2015 Ventajas de usar R Manipulación de datos. R te permite manipular (seleccionar, recodificar, recuperar) datos muy rápidamente. Más fácil automatización. R utiliza un lenguaje de script en lugar de una interfaz gráfica de usuario. Esto te puede ahorrar un montón de tiempo, especialmente cuando tienes que volver a ejecutar el mismo análisis varias veces. Cálculo rápido. Debido a la automatización proporcionada por R, muchas operaciones son mucho más rápidas para realizar en R de Excel. Lee cualquier tipo de datos. R puede leer (importar) prácticamente cualquier tipo de datos desde archivos estandarizados (.txt, .csv, .dat, etc). Es compatible con grandes conjuntos de datos. Excel tiene restricciones para el tamaño pueden tener sus datos y suele ser lento con grandes conjuntos de datos. R es compatible con los datos de mayor tamaño, y puede soportar grandes volúmenes de datos (ejemplo: 75 mil registros y más) Es compatible con datos GEOESPACIALES. R es compatible con los datos geoespaciales y puede graficarlos.
  27. 27. Ernesto De Frías - edefrias@gmail.com 2015 R Studio R está desarrollando su interfaz gráfica para hacer más fácil la programación y cálculos estadísticos. http://www.rstudio.com/ http://cran.r-project.org/
  28. 28. Ernesto De Frías - edefrias@gmail.com 2015 FUENTESDisdier, Orville M. (año desconocido). Estadística Descriptiva e Inferencial utilizando R (Updated). Recuperado:25/jun/2015, de INSTITUTO DE ESTADISTICAS DE PUERTO RICO Sitio web: http://www.estadisticas.gobierno.pr/iepr/LinkClick.aspx?fileticket=p71ePCZXuYM%3D&tabid=100 Autor desconocido. (año desconocido). Quick R. Recuperado:25/jun/2015, de STATMETHODS Sitio web: http://www.statmethods.net/index.html Autor desconocido. (año desconocido). Algunos comandos de R. Recuperado:28/jun/2015, de BIOINFOPERL Sitio web: http://bioinfoperl.blogspot.com/2010/06/algunos-comandos-de-r-utiles- en-ciencia.html Autor desconocido. (año desconocido). Unir varios data.frames. Recuperado:28/jun/2015, de R ECONOMETRIA Sitio web: http://r-econ.blogspot.com/2012/07/unir-varios-dataframes-en-un- solo-paso.html

×