21
Objetivos Comandos b´ asicos Introducci´on a R Florencia Hnilo Septiembre de 2019 Florencia Hnilo 1/ 21

Introducción a R - BIG DATA Y MINERÍA DE DATOS UDESA · R es un programa que funciona a trav es de comandos. Re-quiere que se escriban comandos despu es del s mbolo \>" en la consola

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introducción a R - BIG DATA Y MINERÍA DE DATOS UDESA · R es un programa que funciona a trav es de comandos. Re-quiere que se escriban comandos despu es del s mbolo \>" en la consola

ObjetivosComandos basicos

Introduccion a R

Florencia Hnilo

Septiembre de 2019

Florencia Hnilo 1/ 21

Page 2: Introducción a R - BIG DATA Y MINERÍA DE DATOS UDESA · R es un programa que funciona a trav es de comandos. Re-quiere que se escriban comandos despu es del s mbolo \>" en la consola

ObjetivosComandos basicos

Introduccion a R

1 Objetivos

2 Comandos basicos¿Que es R?DescargaComandos basicosBases de datosMatrices y distribucionesGraficos

Florencia Hnilo 2/ 21

Page 3: Introducción a R - BIG DATA Y MINERÍA DE DATOS UDESA · R es un programa que funciona a trav es de comandos. Re-quiere que se escriban comandos despu es del s mbolo \>" en la consola

ObjetivosComandos basicos

Objetivos

Presentar aplicaciones de los conceptos vistos en clase

Se solo introducen los comandos basicos de cada tema. Lamejor forma de aprender R es resolviendo problemas

Si surgen dudas, primero intentar solucionarlas investigando enInternet, ¡es la mejor manera de aprender! Si no logran re-solverlas, escribir a [email protected]

Florencia Hnilo 3/ 21

Page 4: Introducción a R - BIG DATA Y MINERÍA DE DATOS UDESA · R es un programa que funciona a trav es de comandos. Re-quiere que se escriban comandos despu es del s mbolo \>" en la consola

ObjetivosComandos basicos

¿Que es R?DescargaComandos basicosBases de datosMatrices y distribucionesGraficos

Antes que nada, ¿que es R?

Programa de computacion estadıstico

Surgio como una simplificacion del programa S-PLUS

¡Gratis! Gracias a eso, mucha informacion dando vuelta en lared. Ver por ejemplo

1 https://stackoverflow.com2 https://renbaires.github.io/3 https://cran.r-project.org/web/views/

Para libros sobre R, ver:1 https://www.r-project.org/doc/bib/R-books.html2 https://bookdown.org/

Florencia Hnilo 4/ 21

Page 5: Introducción a R - BIG DATA Y MINERÍA DE DATOS UDESA · R es un programa que funciona a trav es de comandos. Re-quiere que se escriban comandos despu es del s mbolo \>" en la consola

ObjetivosComandos basicos

¿Que es R?DescargaComandos basicosBases de datosMatrices y distribucionesGraficos

Descarga

Descargar la version 3.5.2 desde http://mirror.fcaglp.unlp.edu.ar/CRAN/ segun el sistema operativo que tengan.

Si bien es posible trabajar directamente con R, la aplicacionRStudio facilita la tarea. Descargar la version gratuita desdehttps://www.rstudio.com/ (elijan la version recomendadapara su sistema).

Florencia Hnilo 5/ 21

Page 6: Introducción a R - BIG DATA Y MINERÍA DE DATOS UDESA · R es un programa que funciona a trav es de comandos. Re-quiere que se escriban comandos despu es del s mbolo \>" en la consola

ObjetivosComandos basicos

¿Que es R?DescargaComandos basicosBases de datosMatrices y distribucionesGraficos

Consola de RStudio

Florencia Hnilo 6/ 21

Page 7: Introducción a R - BIG DATA Y MINERÍA DE DATOS UDESA · R es un programa que funciona a trav es de comandos. Re-quiere que se escriban comandos despu es del s mbolo \>" en la consola

ObjetivosComandos basicos

¿Que es R?DescargaComandos basicosBases de datosMatrices y distribucionesGraficos

Consola de RStudio

R es un programa que funciona a traves de comandos. Re-quiere que se escriban comandos despues del sımbolo “>” enla consola y se ejecuten oprimiendo “Enter”.

Sin embargo, normalmente escribiremos los comandos en el ed-itor pues tiene la ventaja de conservar a mano el listado decomandos. Para ejecutar un comando desde el editor, selec-

cionarlo y oprimir .

Ademas, es posible tener varios editores abiertos de muchosproyectos distintos, lo que evita volver a escribir comandos queya estan en otro proyecto. Para abrir un proyecto nuevo, optimir

Ctrl + Shift + N o bien ir a y elegir “R Script”.

Florencia Hnilo 7/ 21

Page 8: Introducción a R - BIG DATA Y MINERÍA DE DATOS UDESA · R es un programa que funciona a trav es de comandos. Re-quiere que se escriban comandos despu es del s mbolo \>" en la consola

ObjetivosComandos basicos

¿Que es R?DescargaComandos basicosBases de datosMatrices y distribucionesGraficos

Consola de RStudio

Para abrir un proyecto guardado, oprimir y buscar elarchivo.

Para guardar un script, oprimir el disquete

Florencia Hnilo 8/ 21

Page 9: Introducción a R - BIG DATA Y MINERÍA DE DATOS UDESA · R es un programa que funciona a trav es de comandos. Re-quiere que se escriban comandos despu es del s mbolo \>" en la consola

ObjetivosComandos basicos

¿Que es R?DescargaComandos basicosBases de datosMatrices y distribucionesGraficos

Tips

La mayor parte de los errores se deben a escribir mal los co-mandos o los nombres de las variables. No es lo mismo escribirResultado que resultado.

Los comandos de R tambien se llaman funciones, y su estructurabasica es:objeto <- funcion(dataset, TRUE)

La flecha para arriba del teclado sirve para llamar comandosanteriores.

El sımbolo $ se usa para llamar a una columna particular de undataset (ejemplo: dataset$columna i).

Suele ser util escribir al lado o arriba de los comandos lo quequeremos hacer. Para que R no lea esas lıneas, insertar elsımbolo # antes de ellas.

Florencia Hnilo 9/ 21

Page 10: Introducción a R - BIG DATA Y MINERÍA DE DATOS UDESA · R es un programa que funciona a trav es de comandos. Re-quiere que se escriban comandos despu es del s mbolo \>" en la consola

ObjetivosComandos basicos

¿Que es R?DescargaComandos basicosBases de datosMatrices y distribucionesGraficos

Directorio

Antes de empezar a trabajar en R, es necesario avisarle al programacual es nuestro directorio para que sepa donde guardar los archivoso graficos que resulten de nuestro trabajo. Para eso utilizaremos lafuncion setwd, escribiendo entre parentesis la direccion de nuestracarpeta de trabajo:

setwd("C:/workspace2") #o bien setwd("C:\\workspace2")ATENCION: fıjense que utilice “/” o “\\”. R no reconoce una unicabarra invertida “\”.Para chequear que indicamos bien el directorio, correr:

getwd()

Florencia Hnilo 10/ 21

Page 11: Introducción a R - BIG DATA Y MINERÍA DE DATOS UDESA · R es un programa que funciona a trav es de comandos. Re-quiere que se escriban comandos despu es del s mbolo \>" en la consola

ObjetivosComandos basicos

¿Que es R?DescargaComandos basicosBases de datosMatrices y distribucionesGraficos

R como una calculadora

R puede ser utilizado como una calculadora. Escribir en la consolalos siguientes comandos oprimiendo “Enter” despues de cada uno yobservar el resultado.

5+3

5∗(7/3)

sqrt(4)

Tambien es posible guardar los resultados de una operacion en elEnvironment para utilizar mas tarde:

resultado <- 5+3

print(resultado)

¡Cuidado! Si mas tarde llamamos resultado a otro valor, perdemosel valor anterior sin previo aviso.

Florencia Hnilo 11/ 21

Page 12: Introducción a R - BIG DATA Y MINERÍA DE DATOS UDESA · R es un programa que funciona a trav es de comandos. Re-quiere que se escriban comandos despu es del s mbolo \>" en la consola

ObjetivosComandos basicos

¿Que es R?DescargaComandos basicosBases de datosMatrices y distribucionesGraficos

Tipos de datos

Podemos guardar otros objetos ademas de numeros:resultado <- "Hola, me llamo Florencia"

class(resultado) #funcion que me permite saber el tipo

de objeto con el que estoy tratando.

class(sqrt)

Tambien podemos guardar vectores y combinarlos:vector1 <- c(1,2,3)

vector2 <- c(1,4,77)

vector3 <- c(vector1, vector2)

Para acceder a un elemento especıfico de un vector, usar corchetes:vector3[4]

Florencia Hnilo 12/ 21

Page 13: Introducción a R - BIG DATA Y MINERÍA DE DATOS UDESA · R es un programa que funciona a trav es de comandos. Re-quiere que se escriban comandos despu es del s mbolo \>" en la consola

ObjetivosComandos basicos

¿Que es R?DescargaComandos basicosBases de datosMatrices y distribucionesGraficos

Funciones utiles

length(vector3): para saber la cantidad de elementos delvector

min(vector3): valor mınimo del vector

max(vector3): valor maximo del vector

range(vector3): rango del vector

mean(vector3): media del vector

sd(vector3): desvıo estandar del vector

sum(vector3)/length(vector3): otra forma de calcular lamedia del vector

rm(list = ls(all = TRUE)): borrar todos los objetosguardados

rm(objeto): borrar un objeto particular

Florencia Hnilo 13/ 21

Page 14: Introducción a R - BIG DATA Y MINERÍA DE DATOS UDESA · R es un programa que funciona a trav es de comandos. Re-quiere que se escriban comandos despu es del s mbolo \>" en la consola

ObjetivosComandos basicos

¿Que es R?DescargaComandos basicosBases de datosMatrices y distribucionesGraficos

Importar bases de datos

Usualmente se trabaja con bases de datos que guardamos en for-matos distintos a R. Dependiendo del tipo de archivo, el comandoque deberemos usar para abrir la base.

csv: data <- read.csv("archivo.csv") (si los datos estanseparados por punto y coma, usar la funcion read.csv2)

txt: data <- read.table("archivo.txt", header = TRUE)

xlsx: para abrir archivos de Excel, primero es necesario instalarel programa readxl. Correr install.package("readxl")

y luego llamar al programa corriendo library(readxl). Unavez hecho esto, correr data <- read.excel("archivo.xlsx")

Florencia Hnilo 14/ 21

Page 15: Introducción a R - BIG DATA Y MINERÍA DE DATOS UDESA · R es un programa que funciona a trav es de comandos. Re-quiere que se escriban comandos despu es del s mbolo \>" en la consola

ObjetivosComandos basicos

¿Que es R?DescargaComandos basicosBases de datosMatrices y distribucionesGraficos

Importar bases de datos

Tambien es posible importar bases sin necesidad de escribir los co-mandos oprimiendo sobre

Elegir entonces el tipo de archivo que se quiere abrir.

Florencia Hnilo 15/ 21

Page 16: Introducción a R - BIG DATA Y MINERÍA DE DATOS UDESA · R es un programa que funciona a trav es de comandos. Re-quiere que se escriban comandos despu es del s mbolo \>" en la consola

ObjetivosComandos basicos

¿Que es R?DescargaComandos basicosBases de datosMatrices y distribucionesGraficos

Exportar bases de datos

Si quieren guardar una base de datos, lo mejor es hacerlo en formatocsv (Excel tiene la desventaja de cambiar el formato de los datos enalgunas ocasiones). Como ya definieron el directorio, el archivo seguardara en la carpeta elegida previamente:

write.csv(data, file = "data.csv")

En otros formatos:

txt: write.table(data, "data.txt", sep="�")

xlsx: library(xlsx)

write.xlsx(data, "data.xlsx")

Florencia Hnilo 16/ 21

Page 17: Introducción a R - BIG DATA Y MINERÍA DE DATOS UDESA · R es un programa que funciona a trav es de comandos. Re-quiere que se escriban comandos despu es del s mbolo \>" en la consola

ObjetivosComandos basicos

¿Que es R?DescargaComandos basicosBases de datosMatrices y distribucionesGraficos

Matrices

El comando para crear matrices la llama matrix. Para obtenerinformacion sobre el mismo, buscar en la pestana Help o bien correr:?matrix Si quiero crear una matriz de nxm, tengo que especificarprimero los datos que contendra y el numero de filas n y columnas mteniendo en cuenta que armara la matriz por columna. Por ejemplo:

x=matrix(data=c(1,2,3,4,5,6), nrow=2, ncol=3)

x

Florencia Hnilo 17/ 21

Page 18: Introducción a R - BIG DATA Y MINERÍA DE DATOS UDESA · R es un programa que funciona a trav es de comandos. Re-quiere que se escriban comandos despu es del s mbolo \>" en la consola

ObjetivosComandos basicos

¿Que es R?DescargaComandos basicosBases de datosMatrices y distribucionesGraficos

Distribuciones

Es posible crear vectores aleatorios con distintas distribuciones. Paraque a todos nos aparezcan los mismos valores, es necesario ”plan-tar una semilla” con el comando set.seed previo a la creaciondel vector. Veran que dentro de set.seed aparecera un numerocualquiera; lo unico importante es que todos tengamos el mismonumero (el numero en sı no nos da ninguna informacion).

Florencia Hnilo 18/ 21

Page 19: Introducción a R - BIG DATA Y MINERÍA DE DATOS UDESA · R es un programa que funciona a trav es de comandos. Re-quiere que se escriban comandos despu es del s mbolo \>" en la consola

ObjetivosComandos basicos

¿Que es R?DescargaComandos basicosBases de datosMatrices y distribucionesGraficos

set.seed(499)

x=rnorm(10) #vector de 10 elementos de

distribucion normal

y=x+rnorm(10,mean=50,sd=.1) #vector normal con

media 50 y desvıo estandar 0.1

cor(x,y) #para saber la correlacion entre vectores

Otras distribuciones posibles son:

rbinom: distribucion binominal

rlnorm: distribucion log-normal

rchisq:distribucion χ2

rf: distribucion F

rt: distribucion t-Student

Florencia Hnilo 19/ 21

Page 20: Introducción a R - BIG DATA Y MINERÍA DE DATOS UDESA · R es un programa que funciona a trav es de comandos. Re-quiere que se escriban comandos despu es del s mbolo \>" en la consola

ObjetivosComandos basicos

¿Que es R?DescargaComandos basicosBases de datosMatrices y distribucionesGraficos

Graficos

El paquete mas sencillo para hacer graficos es plot. Para guardarun grafico, es posible hacerlo desde la pestana “Plots” de la derecha,o bien a traves de comandos:

install.packages("ISLR") # instalo una base de datos paraejemplificar

library(ISLR) # cargo la base

png(file = "nombre.png") # nombro al archivo, que se

guardara en el directorio especificado

plot(Auto$cylinders) # corro el comando con el grafico

dev.off() # indico que hasta aca tiene que guardarse

la informacion en el archivo nombrado mas arriba

Florencia Hnilo 20/ 21

Page 21: Introducción a R - BIG DATA Y MINERÍA DE DATOS UDESA · R es un programa que funciona a trav es de comandos. Re-quiere que se escriban comandos despu es del s mbolo \>" en la consola

ObjetivosComandos basicos

¿Que es R?DescargaComandos basicosBases de datosMatrices y distribucionesGraficos

Graficos

Usualmente se utiliza un paquete mas avanzado para realizar graficos:ggplot2. Para graficos sencillos con este paquete, puede usarse elcomando qplot():

qplot(x, y, data=, color=, shape=, size=, alpha=,

geom=, method=, formula=, facets=, xlim=, ylim=,

xlab=, ylab=, main=, sub=)

Para mas informacion sobre qplot(), ver https://www.statmethods.net/advgraphs/ggplot2.html, y para un buen resumen de todo loque se puede hacer con este paquete, ver: https://www.rstudio.com/wp-content/uploads/2016/11/ggplot2-cheatsheet-2.1.

pdf

Florencia Hnilo 21/ 21