SlideShare uma empresa Scribd logo
1 de 75
Baixar para ler offline
R
                              ´
          Taller de Introduccion


         Blanca A. Vargas Govea
          blanca.vg@gmail.com
                 cenidet


Cuernavaca, Mor., 11 de Noviembre de 2011
Contenido


            ´
1 Introduccion

                              ´
2 Tipos de datos y funciones basicas

    ´
3 Analisis descriptivo

    ´
4 Graficas
      ´        ´
    Graficas estandar
    ggplot2

5 Miner´a de datos
       ı

6 Otros recursos



                                       2 / 68
R y yo

        ´                            ´
Evaluacion de sistemas de recomendacion.


      ´
    Analisis descriptivo de datos.

              ´                      ´
    Manipulacion de datos: construccion de archivos.

    Usuario-item-rating.

    Contexto.

           ´
    Seleccion de atributos.

                         ´
    Scripts para evaluacion.

      ´
    Graficas.


R es parte de las herramientas, otras: Weka, scripts en Python, Excel.
                                                                    3 / 68
´
¿Que es R?


   Lenguaje.


             ´
   Manipulacion de datos.


    ´
   Tecnicas estad´sticas.
                 ı


     ´
   Graficas.


                                                 ´
   Entorno para proceso estad´stico y visualizacion.
                             ı


   Software libre.


                                                       4 / 68
´               ´
¿Por que R?: Satisfaccion




http://www.rexeranalytics.com/
                                 5 / 68
´
¿Por que R?: Continuidad




                           6 / 68
´
Entonces, ¿R es lo maximo?




                             7 / 68
´
Ejemplo de aplicacion




http://blog.diegovalle.net/

                              8 / 68
Miner´a de datos: explicando el pasado
     ı




Mapa
                                         9 / 68
Miner´a de datos: prediciendo el futuro
     ı




                                          10 / 68
´
Taller: exploracion usando R




                               11 / 68
´
¿Por que es importante?



                                ´                        ´
   Describe los datos mediante tecnicas estad´sticas y graficas.
                                             ı


   Da un primer acercamiento a los datos y extrae caracter´sticas
                                                            ı
                              ´         ´
   importantes que se utilizaran para analisis posteriores.


   ´
   Util para encontrar errores, ver patrones en los datos, encontrar y
               ´
   generar hipotesis.




                                                                    12 / 68
Tu turno




           13 / 68
´
Instalacion



      Instalar R [R Development Core Team, 2010] . Disponible para
      Linux, MacOS X y Windows:
      en http://cran.r-project.org/mirrors.html.

      Puede usarse en consola o instalar un IDE.
      Sugerencia: RStudio http://www.rstudio.org/.
                                ´
El conjunto de datos que se usara es credit-g.csv [Hofmann, 1994].
En modo consola:

$ R




                                                                     14 / 68
´
Como obtener ayuda



help.start()          #   ayuda general
help(nombrefuncion)   #   detalles sobre la func.
?funcion              #   igual que el anterior
apropos("solve")      #   lista funciones que contienen "solve"
example(solve)        #   muestra un ejemplo del uso de "solve"
help("*")
vignette()
vignette("foo")
data()                # muestra los datos disponibles
help(datasetname)     # detalles de los datos




                                                             15 / 68
Espacio de trabajo
                            ´
    Es el entorno de tu sesion actual en R e incluye cualquier objeto:
    vectores, matrices, dataframes, listas, funciones.

                       ´
    Al finalizar la sesion se puede guardar el actual espacio de
                             ´
    trabajo para que automaticamente se cargue en la siguiente.
                    ´
Algunos comandos estandar para definir el espacio de trabajo son los
siguientes:

getwd() # muestra el directorio actual
ls()    # lista los objetos en el espacio de trabajo
setwd(mydirectory)      # cambia el path a mydirectory
setwd("c:/docs/mydir") # notar / en vez de  en Windows
setwd("/usr/rob/mydir") # en Linux
history() # despliega los 25 comandos recientes
history(max.show=Inf) # despliega los comandos previos
q() # quit R.

                                                                    16 / 68
Paquetes




.libPaths() # obtiene el path
library()   # muestra los paquetes instalados
search()    # muestra los paquetes cargados
# descarga e instala paquetes del repositorio CRAN
install.packages("nombredelpaquete")
library(package) # carga el paquete




                                                     17 / 68
Scripts



# en Linux
R CMD BATCH [options] my_script.R [outfile]

# en ms windows (ajustar el path a R.exe)
"C:Program FilesRR-2.5.0binR.exe" CMD BATCH
   --vanilla --slave "c:my projectsmy_script.R"

source("myfile")
sink("record.lis") # la salida va al archivo record.lis




                                                          18 / 68
Tu turno




           19 / 68
Numeros
 ´




var1 <- 54
var1

var2 <- sqrt(var1*8)
var2




                       20 / 68
Vectores


vector <- c(1,2,3,4,5)
vector[0]
vector[1]

cadena <- "uno"
cadena

lcadena <- c("casa","manzana","uva")
lcadena

vlogico <- c(TRUE,FALSE,TRUE,TRUE,FALSE)
vlogico



                                           21 / 68
Dataframes




c1 <- c(25,26,27,28)
c2 <- c("Ana", "Lola", "Luis", "Pedro")
c3 <- c(TRUE,TRUE,TRUE,FALSE)
mydata <- data.frame(c1,c2,c3)
names(mydata) <- c("ID","Nombre","Aprobado") #nombres de var.




                                                         22 / 68
Exportar e importar datos




setwd("path_name")
credit <- read.csv(file = "../data/credit-g.csv", sep = ",",
                         na.strings = "NULL")




                                                         23 / 68
Despliegue de objetos


ls() # lista de objetos
names(credit) # variables de credit
str(credit) # estructura de credit
levels(credit$foreign_worker) # niveles(valores de variable)
dim(credit) # dimensiones (ren x cols)
class(credit) # clase del objeto
credit # objeto
head(credit, n=10)
tail(credit, n=10)
credit$purpose
#purpose
attach(credit) # coloca la bd en el path
purpose


                                                         24 / 68
´
Renglones, columnas, m´nimo y maximo
                      ı



# Explorando conteo
ren <- nrow(credit)   # raw row count
col <- ncol(credit)

# Min y Max
agemin <- min(age,na.rm = TRUE) # min sin NULLS en age
agemax <- max(age,na.rm = TRUE)

ammin <- min(credit_amount,na.rm = TRUE)
ammax <- max(credit_amount,na.rm = TRUE)




                                                         25 / 68
Subconjuntos




# Filtrando por edad
mayor30 <- subset(credit, age >= 30)
renmayor30 <- nrow(mayor30)
renmayor30

en20y40 <- subset(credit, age >= 20    & age <= 40)
ren20y40 <- nrow(en20y40)
ren20y40




                                                      26 / 68
Muestra aleatoria




set.seed(32)
dsmall <- credit[sample(nrow(credit), 10), ]
dsmall




                                               27 / 68
Rangos




# Filtrando por bins
agebin = cut(age,breaks = c(18,30,40,50,60,70,80))
agebinfile <- data.frame(purpose,credit_amount,
                        personal_status,housing,job,
                        age=agebin,class)
agebinfile




                                                       28 / 68
´
Unicos, frecuencia y orden

# unicos
unicos <- unique(class)
unicos
nhousing <- length(unique(class))
nhousing
# table
mycredit <- table(dsmall$class)
mycredit
mycredit <- table(dsmall$age,dsmall$credit_amount)
mycredit
# ordenar
mycredit <- table(dsmall$housing)
mycredit
mylist <- sort(mycredit,decreasing = TRUE)
mylist
                                                     29 / 68
Construyendo archivos de salida




oframe = data.frame(purpose,credit_amount,personal_status,
                    housing,job,age=agebin,class)
write.table(oframe, row.names = FALSE,
            sep = ";",quote = FALSE,
            file="../data/output01_data.csv")




                                                         30 / 68
Tu turno




           31 / 68
´
Conceptos basicos




                    32 / 68
´
Conceptos basicos


        ´
 Poblacion
                                                                  ´
             Es el conjunto completo de elementos de nuestro interes.
                                               ´
             Las caracter´sticas de una poblacion son las medidas
                          ı
             estad´sticas de cada uno de sus elementos.
                   ı




                                                                  32 / 68
´
Conceptos basicos


        ´
 Poblacion
                                                                  ´
             Es el conjunto completo de elementos de nuestro interes.
                                               ´
             Las caracter´sticas de una poblacion son las medidas
                          ı
             estad´sticas de cada uno de sus elementos.
                   ı

  Muestra
                             ´               ´
             Es una proporcion de la poblacion. Una muestra posee
                                                     ´
             las mismas caracter´sticas de la poblacion si se obtiene
                                ı
             aleatoriamente.




                                                                    32 / 68
´
Conceptos basicos


        ´
 Poblacion
                                                                  ´
             Es el conjunto completo de elementos de nuestro interes.
                                               ´
             Las caracter´sticas de una poblacion son las medidas
                          ı
             estad´sticas de cada uno de sus elementos.
                   ı

  Muestra
                             ´               ´
             Es una proporcion de la poblacion. Una muestra posee
                                                     ´
             las mismas caracter´sticas de la poblacion si se obtiene
                                ı
             aleatoriamente.



                 [Bartlein, 2009, Trochim, 2006, Quick, 2009, Wackerly et al., 2002]




                                                                                       32 / 68
´
Conceptos basicos




                    33 / 68
´
Conceptos basicos



Estad´stica descriptiva
     ı
                                                               ´
             Describe los datos sin ningun tipo de generalizacion.
                                        ´
             Ejemplo: porcentaje de menores de edad que utilizan
             redes sociales.




                                                                     33 / 68
´
Conceptos basicos



Estad´stica descriptiva
     ı
                                                               ´
             Describe los datos sin ningun tipo de generalizacion.
                                        ´
             Ejemplo: porcentaje de menores de edad que utilizan
             redes sociales.

Inferencia estad´stica
                ı
             Generaliza o induce algunas propiedades de la poblacion ´
             a partir de la cual los datos se tomaron. Ejemplo: ¿es la
                       ´
             satisfaccion del usuario de sistemas de recomendacion ´
             significativamente diferente entre hombres y mujeres?




                                                                     33 / 68
´
Conceptos basicos



               ´
Variables categoricas
                                        ´
            No aparecen de forma numerica y tienen dos o mas   ´
            categor´as o valores. Pueden ser nominales y ordinales.
                     ı
            Una variable nominal no tiene un orden (e.g., rojo,
            amarillo, suave), mientras que la ordinal designa un orden
            (e.g., primer lugar, segundo lugar).




                                                                   34 / 68
´
Conceptos basicos



               ´
Variables categoricas
                                        ´
            No aparecen de forma numerica y tienen dos o mas   ´
            categor´as o valores. Pueden ser nominales y ordinales.
                     ı
            Una variable nominal no tiene un orden (e.g., rojo,
            amarillo, suave), mientras que la ordinal designa un orden
            (e.g., primer lugar, segundo lugar).

             ´
Variables numericas
            Son aquellas que pueden tomar cualquier valor dentro de
            un intervalo finito o infinito.




                                                                   34 / 68
´
Tipos de analisis



Univariable
              en el cual se exploran las variables o atributos uno por
              uno.

 Bivariable
                                ´
              en el cual simultaneamente se analizan dos variables
                                     ´
              para conocer la relacion entre ellas, su fuerza o si hay
                                  ´
              diferencias entre ellas y el significado de las mismas. El
                 ´
              analisis bivariable puede ser entre dos variables
                   ´                            ´               ´
              numericas, dos variables categoricas y una variable
                   ´                 ´
              numerica y una categorica.




                                                                         35 / 68
´
Analisis univariable


               ´
Variables categoricas
                   ´                  ´
            el analisis exploratorio basicamente es un conteo del
            numero de valores de la variable especificada y el
              ´
            porcentaje de valores de la variable espec´fica. Se
                                                      ı
                           ´
            utilizan las graficas de barras y de pay.

             ´
Variables numericas
                                                  ´
            se analizan calculando el m´nimo, maximo, media,
                                         ı
            mediana, moda, rango, los cuantiles, la varianza, la
                      ´    ´                              ´
            desviacion estandar, el coeficiente de variacion, la
            asimetr´a y la curtosis. Se visualizan mediante
                    ı
                              ´
            histogramas y graficas de bigotes.



                                                                    36 / 68
Medidas




    Min, max   Cuantiles (25,50,75)

    Media      Varianza

    Mediana            ´     ´
               Desviacion estandar

    Moda       Asimetr´a
                      ı

    Rango      Curtosis




                                      37 / 68
En R




setwd("path_name")
credit <- read.csv(file = "../data/credit-g.csv",sep = ",",
                     na.strings = "NULL")
attach(credit)

Cargar librer´a moments
             ı

install.packages("moments")
library(moments)




                                                         38 / 68
Moda



Mode <- function (x) {
    cngtable <- table(x)
    n <- length(cngtable)
    mode <- as.double(names(sort(cngtable)[n]))
    mode
}

moda <- Mode(age)
moda




                                                  39 / 68
Rango




Rng <- function(x) {
    rangem <- diff(range(x))
    rangem
}

rango <- Rng(age)
rango




                               40 / 68
Cuantiles




Quantiles <- function(x) {
    quants <- quantile(x)
    quantval <- as.double(names(table(quants)))
    quantval
}

q <- Quantiles(sort(age))
q




                                                  41 / 68
Media




media <- round(mean(age),2)
media




                              42 / 68
Mediana




mediana <- round(median(age),2)
mediana




                                  43 / 68
Varianza




varianza <- round(var(age),2)
varianza




                                44 / 68
´     ´
Desviacion estandar




sd <- round(sd(age),2)
sd




                         45 / 68
Cargando datos




setwd("path")
credit <- read.csv(file = "../data/credit-g.csv", sep = ",",
          na.strings = "NULL")
attach(credit)

set.seed(32) # Muestra
dsmall <- credit[sample(nrow(credit), 5), ]
dsmall




                                                         46 / 68
Puntos 1/3
png(filename = "../figures/foo1.png") # puntos
plot(age,credit_amount)
Puntos 2/3
png(filename = "../figures/foo1b.png")
plot(dsmall$age,type= "o",col="blue")
Puntos 3/3
png(filename = "../figures/foo1b.png")
plot(dsmall$age,type= "o",col="blue")
Bigotes
png(filename = "../figures/foo2.png")
boxplot(age)




                                  ´       ´
Un valor at´pico es una observacion numericamente distante del resto de los
            ı
                                      ´
datos y puede representar datos erroneos. Se considera un valor at´pico el
                                                                  ı
que se encuentra 1,5 veces esa distancia de uno de esos cuartiles (at´pico
                                                                     ı
leve) o a 3 veces esa distancia (at´pico extremo).
                                   ı
                                                                         50 / 68
Histograma simple 1/2

png(filename = "../figures/foo3.png")
hist(credit_amount)




                                        51 / 68
Histograma simple 2/2
png(filename = "../figures/foo4.png")
hist(credit_amount, breaks=30, col="blue")




                                             52 / 68
Barras 1/3
png(filename = "../figures/foo5.png")
counts <- table(housing)
barplot(counts, main="Housing")




                                        53 / 68
Barras 2/3
png(filename = "../figures/foo6.png")
counts <- table(class)
barplot(counts, main="Personal status", horiz=TRUE)




                                                      54 / 68
Barras 3/3
png(filename = "../figures/foo6a.png")
myfile <- data.frame(dsmall$age,dsmall$residence_since,
                     dsmall$duration)
barplot(as.matrix(myfile), main="Credito", ylab= "Total",
       beside=TRUE, col=rainbow(5), cex.names=0.9)
legend("topright", c("e1","e2","e3","e4","e5"), bty="n",
                   fill=rainbow(5))




                                                            55 / 68
´
Matriz de dispersion
png(filename = "../figures/foo9.png")
pairs(~credit_amount+age+existing_credits+num_dependents,data=
   main="Simple Scatterplot Matrix")




                                                         56 / 68
Bigotes
d <- ggplot(data = credit, aes(x = credit_amount, y = age))
d + geom_boxplot(outlier.shape = 4) + theme_bw() +
    scale_y_continuous(breaks = seq(0, 100, by = 5))
ggsave(file = "../figures/gg-boxplot.eps", width=5, height=5)


                      75

                      70

                      65

                      60

                      55

                      50
                age




                      45

                      40

                      35

                      30

                      25

                      20


                           5000          10000    15000
                                  credit_amount

                                                          57 / 68
Barras 1/2
d <- ggplot(data = credit, aes(age))
d + geom_bar() + theme_bw()
ggsave(file = "../figures/gg-foo10.eps", width=5, height=5)




                       80




                       60
               count




                       40




                       20




                       0

                            20   30   40         50   60   70
                                           age

                                                                58 / 68
Barras 2/2
d <- ggplot(data = credit, aes(age))
d + geom_bar(binwidth = 0.1) + theme_bw()
ggsave(file = "../figures/gg-foo10a.eps", width=5, height=5)


                       50




                       40




                       30
               count




                       20




                       10




                       0

                            20   30   40         50   60   70
                                           age

                                                                59 / 68
Histograma, media y DS
d <- ggplot(data = credit, aes(age))
d + geom_histogram(aes(y = ..count..),binwidth = 0.5) +
    theme_bw() +
   scale_x_continuous(breaks = c(media)) +
    geom_vline(xintercept = media, size = 0.5, colour = "magen
    geom_vline(xintercept = media+sd, size = 0.5, colour = "bl
    geom_vline(xintercept = media-sd, size = 0.5, colour = "bl
ggsave(file = "../figures/gg-foo11.eps", width=5, height=5)

                            50




                            40




                            30
                    count




                            20




                            10




                            0

                                 35.55
                                         age
                                                         60 / 68
Cuts
agebin = cut(age,breaks = c(18,30,40,50,60,70,80))
agebinfile <- data.frame(purpose,credit_amount,personal_
                         status,housing,job,age=agebin,class)
agebinfile

d <- ggplot(data = agebinfile, aes(age))
d + stat_bin(aes(ymax = ..count..), geom = "bar") + theme_bw()
ggsave(file = "../figures/gg-foo12.eps", width=5, height=5)


                            400




                            300
                    count




                            200




                            100




                             0

                                  (18,30]   (30,40]   (40,50]
                                                         age
                                                                (50,60]   (60,70]   (70,80]   61 / 68
Cuts - theme bw()
agebin = cut(age,breaks = c(18,30,40,50,60,70,80))
agebinfile <- data.frame(purpose,credit_amount,personal_
                         status,housing,job,age=agebin,class)
agebinfile

d <- ggplot(data = agebinfile, aes(age))
d + stat_bin(aes(ymax = ..count..), geom = "bar") + theme_bw()
ggsave(file = "../figures/gg-foo12.eps", width=5, height=5)


                            400




                            300
                    count




                            200




                            100




                             0

                                  (18,30]   (30,40]   (40,50]
                                                         age
                                                                (50,60]   (60,70]   (70,80]   62 / 68
Eliminando theme bw()

d <- ggplot(credit, aes(housing))
d + geom_bar()
ggsave(file = "../figures/gg-foo13.eps", width=5, height=5)



                            700


                            600


                            500


                            400
                    count




                            300


                            200


                            100


                             0

                                  for free      own    rent
                                             housing




                                                              63 / 68
fill

d <- ggplot(credit, aes(age,fill=housing))
d + geom_bar()
ggsave(file = "../figures/gg-foo14.eps", width=5, height=5)




                          80




                          60
                                                                   housing
                                                                      for free
                  count




                                                                      own
                          40
                                                                      rent




                          20




                          0

                               20   30   40         50   60   70
                                              age




                                                                                 64 / 68
Facetas
d <- ggplot(credit, aes(age))
d + geom_bar()+facet_wrap(~ housing)
ggsave(file = "../figures/gg-foo15.eps", width=5, height=5)

                                       for free                                  own



                       60


                       40


                       20


                       0
               count




                                           rent



                       60


                       40


                       20


                       0
                            20   30   40    50    60   70         20   30   40    50   60   70
                                                            age
                                                                                                 65 / 68
Miner´a de datos: librer´as
     ı                  ı

             ´
   Clasificacion.
           ´
   Regresion lineal en R.
                                ´                 ´
   Particionamiento recursivo y arboles de regresion
             ´    ´                 ´
   Clasificacion y arboles de regresion
   nnet: redes neuronales feed-forward
           ´
   Agrupacion.
           ´
   Agrupacion en R
                      ´
   Reglas de asociacion.
                             ´
   arules: Reglas de asociacion
           ´
   Seleccion de atributos.
   FSelector: Selecting attributes
   Caret: librer´as diversas
                ı
   Miner´a de textos.
          ı
   tm: librer´a para miner´a de texto
             ı            ı
                                                       66 / 68
Otros recursos




   Machine learning
   R with Python
            ´
   Comparacion
   Libro




                      67 / 68
´
                 R Taller de Introduccion is licensed under a
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.




                                                                          68 / 68
Bartlein, P. (2009).
Data analysis and visualization.
http://geography.uoregon.edu/bartlein/old_courses/geog414f03/lectures/lec04.htm.

Hofmann, H. (1994).
UCI machine learning repository.
http://bit.ly/laDAFC.

Quick, J. M. (2009).
R tutorial series: Summary and descriptive statistics.
http://www.r-bloggers.com/r-tutorial-series-summary-and-descriptive-statistics/.

R Development Core Team (2010).
R: A language and environment for statistical computing.
http://www.R-project.org.

Trochim, W. M. (2006).
Research methods knowledge base.
http://geography.uoregon.edu/bartlein/old_courses/geog414f03/lectures/lec04.htm.

Wackerly, D. D., Scheaffer, R. L., & Mendenhall, W. (2002).
                   ´
Estad´stica matematica con aplicaciones.
     ı
  ´
Mexico, 6 edition.




                                                                                   68 / 68

Mais conteúdo relacionado

Destaque

Rana_adeel_sqa
Rana_adeel_sqaRana_adeel_sqa
Rana_adeel_sqa
rana adeel
 
fernandez-victor-manuel-para-liberarte-de-la-ansiedad-y-de-la-impaciencia
 fernandez-victor-manuel-para-liberarte-de-la-ansiedad-y-de-la-impaciencia fernandez-victor-manuel-para-liberarte-de-la-ansiedad-y-de-la-impaciencia
fernandez-victor-manuel-para-liberarte-de-la-ansiedad-y-de-la-impaciencia
Esteban Flesler
 
Switch energy customer presentation
Switch energy customer presentationSwitch energy customer presentation
Switch energy customer presentation
Switch Energy
 
El suro power point
El suro power pointEl suro power point
El suro power point
halimatou
 

Destaque (19)

Language of Mongolia
Language of MongoliaLanguage of Mongolia
Language of Mongolia
 
Ernesto-garzon-valdes-francisco-j-laporta-el-derecho-y-la-justicia
 Ernesto-garzon-valdes-francisco-j-laporta-el-derecho-y-la-justicia Ernesto-garzon-valdes-francisco-j-laporta-el-derecho-y-la-justicia
Ernesto-garzon-valdes-francisco-j-laporta-el-derecho-y-la-justicia
 
Der sinnvolle Einsatz von Social Media für Orchester
Der sinnvolle Einsatz von Social Media für OrchesterDer sinnvolle Einsatz von Social Media für Orchester
Der sinnvolle Einsatz von Social Media für Orchester
 
Rana_adeel_sqa
Rana_adeel_sqaRana_adeel_sqa
Rana_adeel_sqa
 
fernandez-victor-manuel-para-liberarte-de-la-ansiedad-y-de-la-impaciencia
 fernandez-victor-manuel-para-liberarte-de-la-ansiedad-y-de-la-impaciencia fernandez-victor-manuel-para-liberarte-de-la-ansiedad-y-de-la-impaciencia
fernandez-victor-manuel-para-liberarte-de-la-ansiedad-y-de-la-impaciencia
 
Masajes reductores en medellin
Masajes reductores en medellinMasajes reductores en medellin
Masajes reductores en medellin
 
Switch energy customer presentation
Switch energy customer presentationSwitch energy customer presentation
Switch energy customer presentation
 
Don't Forget the Kids: events at your market, Donna Bednar
Don't Forget the Kids: events at your market, Donna BednarDon't Forget the Kids: events at your market, Donna Bednar
Don't Forget the Kids: events at your market, Donna Bednar
 
Grundlagen und Trends im Applikations-Sourcing
Grundlagen und Trends im Applikations-SourcingGrundlagen und Trends im Applikations-Sourcing
Grundlagen und Trends im Applikations-Sourcing
 
El telefono[2]
El telefono[2]El telefono[2]
El telefono[2]
 
MM Bagali, HR, MBA, HRM, HRD, Research , Empowerment 2012
MM Bagali, HR, MBA, HRM, HRD, Research , Empowerment 2012MM Bagali, HR, MBA, HRM, HRD, Research , Empowerment 2012
MM Bagali, HR, MBA, HRM, HRD, Research , Empowerment 2012
 
sept+2014resume (1)
sept+2014resume (1)sept+2014resume (1)
sept+2014resume (1)
 
Un nuevo hermanito
Un nuevo hermanitoUn nuevo hermanito
Un nuevo hermanito
 
Catalogo definitivo
Catalogo definitivoCatalogo definitivo
Catalogo definitivo
 
Presentazione edificio Minergie TI-001-A-ECO
Presentazione edificio Minergie TI-001-A-ECOPresentazione edificio Minergie TI-001-A-ECO
Presentazione edificio Minergie TI-001-A-ECO
 
The art of not-doing
The art of not-doingThe art of not-doing
The art of not-doing
 
Libro baldosas ii
Libro baldosas iiLibro baldosas ii
Libro baldosas ii
 
El suro power point
El suro power pointEl suro power point
El suro power point
 
Visual resume
Visual resumeVisual resume
Visual resume
 

Semelhante a R: Taller de Introducción

Fundamentos-de-programacion-c-ricardo-villalobos.pdf
Fundamentos-de-programacion-c-ricardo-villalobos.pdfFundamentos-de-programacion-c-ricardo-villalobos.pdf
Fundamentos-de-programacion-c-ricardo-villalobos.pdf
ssuserf46a26
 
Poo 2009 u2_introd_a_la_poo_2
Poo 2009 u2_introd_a_la_poo_2Poo 2009 u2_introd_a_la_poo_2
Poo 2009 u2_introd_a_la_poo_2
Axel
 
Anatomía de un ataque a tns listener
Anatomía de un ataque a tns listenerAnatomía de un ataque a tns listener
Anatomía de un ataque a tns listener
yt f
 
Persistence Mechanism - Arquimedes Rene Leyva Tellez
Persistence Mechanism - Arquimedes Rene Leyva TellezPersistence Mechanism - Arquimedes Rene Leyva Tellez
Persistence Mechanism - Arquimedes Rene Leyva Tellez
Arquimedes Rene Leyva Tellez
 

Semelhante a R: Taller de Introducción (20)

Fundamentos de Data Mining con R
Fundamentos de Data Mining con RFundamentos de Data Mining con R
Fundamentos de Data Mining con R
 
Gestión y Análisis de Datos para las Ciencias Económicas con Python y R
Gestión y Análisis de Datos para las Ciencias Económicas con Python y RGestión y Análisis de Datos para las Ciencias Económicas con Python y R
Gestión y Análisis de Datos para las Ciencias Económicas con Python y R
 
Sesion R
Sesion RSesion R
Sesion R
 
Trabajar en el sector agroalimentario aragonés con datos y portales de datos ...
Trabajar en el sector agroalimentario aragonés con datos y portales de datos ...Trabajar en el sector agroalimentario aragonés con datos y portales de datos ...
Trabajar en el sector agroalimentario aragonés con datos y portales de datos ...
 
Periodo 3 estructuras basicas
Periodo 3 estructuras basicasPeriodo 3 estructuras basicas
Periodo 3 estructuras basicas
 
Periodo 3 estructuras basicas
Periodo 3 estructuras basicasPeriodo 3 estructuras basicas
Periodo 3 estructuras basicas
 
MODELO PASO DE MENSAJES
MODELO PASO DE MENSAJESMODELO PASO DE MENSAJES
MODELO PASO DE MENSAJES
 
Articulo en r
Articulo en rArticulo en r
Articulo en r
 
Fundamentos-de-programacion-c-ricardo-villalobos.pdf
Fundamentos-de-programacion-c-ricardo-villalobos.pdfFundamentos-de-programacion-c-ricardo-villalobos.pdf
Fundamentos-de-programacion-c-ricardo-villalobos.pdf
 
Final
FinalFinal
Final
 
Viernes Tecnicos DTrace
Viernes Tecnicos DTraceViernes Tecnicos DTrace
Viernes Tecnicos DTrace
 
Entorno y lenguaje de programación R
Entorno  y lenguaje de programación REntorno  y lenguaje de programación R
Entorno y lenguaje de programación R
 
Poo 2009 u2_introd_a_la_poo_2
Poo 2009 u2_introd_a_la_poo_2Poo 2009 u2_introd_a_la_poo_2
Poo 2009 u2_introd_a_la_poo_2
 
Curso de R: 1.1. introducción al lenguaje (Objetos y operadores básicos)
Curso de R: 1.1. introducción al lenguaje (Objetos y operadores básicos)Curso de R: 1.1. introducción al lenguaje (Objetos y operadores básicos)
Curso de R: 1.1. introducción al lenguaje (Objetos y operadores básicos)
 
Aplicaciones Difusas Map Reduce
Aplicaciones Difusas Map ReduceAplicaciones Difusas Map Reduce
Aplicaciones Difusas Map Reduce
 
Final
FinalFinal
Final
 
Anatomía de un ataque a tns listener
Anatomía de un ataque a tns listenerAnatomía de un ataque a tns listener
Anatomía de un ataque a tns listener
 
Persistence Mechanism - Arquimedes Rene Leyva Tellez
Persistence Mechanism - Arquimedes Rene Leyva TellezPersistence Mechanism - Arquimedes Rene Leyva Tellez
Persistence Mechanism - Arquimedes Rene Leyva Tellez
 
Programacion orientada ojetos
Programacion orientada  ojetosProgramacion orientada  ojetos
Programacion orientada ojetos
 
R Services con SQL Server
R Services con SQL ServerR Services con SQL Server
R Services con SQL Server
 

Mais de Blanca Alicia Vargas Govea

Una Breve Historia de la Ingeniería de Software
Una Breve Historia de la Ingeniería de SoftwareUna Breve Historia de la Ingeniería de Software
Una Breve Historia de la Ingeniería de Software
Blanca Alicia Vargas Govea
 
Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil
Aprendizaje de Programas Teleo-Reactivos para Robótica MóvilAprendizaje de Programas Teleo-Reactivos para Robótica Móvil
Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil
Blanca Alicia Vargas Govea
 
Aprendizaje de reglas para un sistema de recomendación contextual
Aprendizaje de reglas para un sistema de recomendación  contextualAprendizaje de reglas para un sistema de recomendación  contextual
Aprendizaje de reglas para un sistema de recomendación contextual
Blanca Alicia Vargas Govea
 
Aprendizaje de reglas para sistemas de recomendación
Aprendizaje de reglas para sistemas de recomendaciónAprendizaje de reglas para sistemas de recomendación
Aprendizaje de reglas para sistemas de recomendación
Blanca Alicia Vargas Govea
 
Effects of relevant contextual features in the performance of a restaurant re...
Effects of relevant contextual features in the performance of a restaurant re...Effects of relevant contextual features in the performance of a restaurant re...
Effects of relevant contextual features in the performance of a restaurant re...
Blanca Alicia Vargas Govea
 
Learning Relational Grammars from Sequences of Actions
Learning Relational Grammars from Sequences of ActionsLearning Relational Grammars from Sequences of Actions
Learning Relational Grammars from Sequences of Actions
Blanca Alicia Vargas Govea
 
Effects of relevant contextual features in the performance of a restaurant re...
Effects of relevant contextual features in the performance of a restaurant re...Effects of relevant contextual features in the performance of a restaurant re...
Effects of relevant contextual features in the performance of a restaurant re...
Blanca Alicia Vargas Govea
 
Sistemas de recomendación: tipos y evaluación
Sistemas de recomendación: tipos y evaluaciónSistemas de recomendación: tipos y evaluación
Sistemas de recomendación: tipos y evaluación
Blanca Alicia Vargas Govea
 

Mais de Blanca Alicia Vargas Govea (11)

Una Breve Historia de la Ingeniería de Software
Una Breve Historia de la Ingeniería de SoftwareUna Breve Historia de la Ingeniería de Software
Una Breve Historia de la Ingeniería de Software
 
In10years
In10yearsIn10years
In10years
 
Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil
Aprendizaje de Programas Teleo-Reactivos para Robótica MóvilAprendizaje de Programas Teleo-Reactivos para Robótica Móvil
Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil
 
Taller weka
Taller wekaTaller weka
Taller weka
 
Aprendizaje de reglas para un sistema de recomendación contextual
Aprendizaje de reglas para un sistema de recomendación  contextualAprendizaje de reglas para un sistema de recomendación  contextual
Aprendizaje de reglas para un sistema de recomendación contextual
 
Aprendizaje de reglas para sistemas de recomendación
Aprendizaje de reglas para sistemas de recomendaciónAprendizaje de reglas para sistemas de recomendación
Aprendizaje de reglas para sistemas de recomendación
 
Effects of relevant contextual features in the performance of a restaurant re...
Effects of relevant contextual features in the performance of a restaurant re...Effects of relevant contextual features in the performance of a restaurant re...
Effects of relevant contextual features in the performance of a restaurant re...
 
Evaluando sistemas de recomendación
Evaluando sistemas de recomendaciónEvaluando sistemas de recomendación
Evaluando sistemas de recomendación
 
Learning Relational Grammars from Sequences of Actions
Learning Relational Grammars from Sequences of ActionsLearning Relational Grammars from Sequences of Actions
Learning Relational Grammars from Sequences of Actions
 
Effects of relevant contextual features in the performance of a restaurant re...
Effects of relevant contextual features in the performance of a restaurant re...Effects of relevant contextual features in the performance of a restaurant re...
Effects of relevant contextual features in the performance of a restaurant re...
 
Sistemas de recomendación: tipos y evaluación
Sistemas de recomendación: tipos y evaluaciónSistemas de recomendación: tipos y evaluación
Sistemas de recomendación: tipos y evaluación
 

Último

6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
MiNeyi1
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
MiNeyi1
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
lupitavic
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 

Último (20)

LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
6.-Como-Atraer-El-Amor-01-Lain-Garcia-Calvo.pdf
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 

R: Taller de Introducción

  • 1. R ´ Taller de Introduccion Blanca A. Vargas Govea blanca.vg@gmail.com cenidet Cuernavaca, Mor., 11 de Noviembre de 2011
  • 2. Contenido ´ 1 Introduccion ´ 2 Tipos de datos y funciones basicas ´ 3 Analisis descriptivo ´ 4 Graficas ´ ´ Graficas estandar ggplot2 5 Miner´a de datos ı 6 Otros recursos 2 / 68
  • 3. R y yo ´ ´ Evaluacion de sistemas de recomendacion. ´ Analisis descriptivo de datos. ´ ´ Manipulacion de datos: construccion de archivos. Usuario-item-rating. Contexto. ´ Seleccion de atributos. ´ Scripts para evaluacion. ´ Graficas. R es parte de las herramientas, otras: Weka, scripts en Python, Excel. 3 / 68
  • 4. ´ ¿Que es R? Lenguaje. ´ Manipulacion de datos. ´ Tecnicas estad´sticas. ı ´ Graficas. ´ Entorno para proceso estad´stico y visualizacion. ı Software libre. 4 / 68
  • 5. ´ ´ ¿Por que R?: Satisfaccion http://www.rexeranalytics.com/ 5 / 68
  • 6. ´ ¿Por que R?: Continuidad 6 / 68
  • 7. ´ Entonces, ¿R es lo maximo? 7 / 68
  • 9. Miner´a de datos: explicando el pasado ı Mapa 9 / 68
  • 10. Miner´a de datos: prediciendo el futuro ı 10 / 68
  • 12. ´ ¿Por que es importante? ´ ´ Describe los datos mediante tecnicas estad´sticas y graficas. ı Da un primer acercamiento a los datos y extrae caracter´sticas ı ´ ´ importantes que se utilizaran para analisis posteriores. ´ Util para encontrar errores, ver patrones en los datos, encontrar y ´ generar hipotesis. 12 / 68
  • 13. Tu turno 13 / 68
  • 14. ´ Instalacion Instalar R [R Development Core Team, 2010] . Disponible para Linux, MacOS X y Windows: en http://cran.r-project.org/mirrors.html. Puede usarse en consola o instalar un IDE. Sugerencia: RStudio http://www.rstudio.org/. ´ El conjunto de datos que se usara es credit-g.csv [Hofmann, 1994]. En modo consola: $ R 14 / 68
  • 15. ´ Como obtener ayuda help.start() # ayuda general help(nombrefuncion) # detalles sobre la func. ?funcion # igual que el anterior apropos("solve") # lista funciones que contienen "solve" example(solve) # muestra un ejemplo del uso de "solve" help("*") vignette() vignette("foo") data() # muestra los datos disponibles help(datasetname) # detalles de los datos 15 / 68
  • 16. Espacio de trabajo ´ Es el entorno de tu sesion actual en R e incluye cualquier objeto: vectores, matrices, dataframes, listas, funciones. ´ Al finalizar la sesion se puede guardar el actual espacio de ´ trabajo para que automaticamente se cargue en la siguiente. ´ Algunos comandos estandar para definir el espacio de trabajo son los siguientes: getwd() # muestra el directorio actual ls() # lista los objetos en el espacio de trabajo setwd(mydirectory) # cambia el path a mydirectory setwd("c:/docs/mydir") # notar / en vez de en Windows setwd("/usr/rob/mydir") # en Linux history() # despliega los 25 comandos recientes history(max.show=Inf) # despliega los comandos previos q() # quit R. 16 / 68
  • 17. Paquetes .libPaths() # obtiene el path library() # muestra los paquetes instalados search() # muestra los paquetes cargados # descarga e instala paquetes del repositorio CRAN install.packages("nombredelpaquete") library(package) # carga el paquete 17 / 68
  • 18. Scripts # en Linux R CMD BATCH [options] my_script.R [outfile] # en ms windows (ajustar el path a R.exe) "C:Program FilesRR-2.5.0binR.exe" CMD BATCH --vanilla --slave "c:my projectsmy_script.R" source("myfile") sink("record.lis") # la salida va al archivo record.lis 18 / 68
  • 19. Tu turno 19 / 68
  • 20. Numeros ´ var1 <- 54 var1 var2 <- sqrt(var1*8) var2 20 / 68
  • 21. Vectores vector <- c(1,2,3,4,5) vector[0] vector[1] cadena <- "uno" cadena lcadena <- c("casa","manzana","uva") lcadena vlogico <- c(TRUE,FALSE,TRUE,TRUE,FALSE) vlogico 21 / 68
  • 22. Dataframes c1 <- c(25,26,27,28) c2 <- c("Ana", "Lola", "Luis", "Pedro") c3 <- c(TRUE,TRUE,TRUE,FALSE) mydata <- data.frame(c1,c2,c3) names(mydata) <- c("ID","Nombre","Aprobado") #nombres de var. 22 / 68
  • 23. Exportar e importar datos setwd("path_name") credit <- read.csv(file = "../data/credit-g.csv", sep = ",", na.strings = "NULL") 23 / 68
  • 24. Despliegue de objetos ls() # lista de objetos names(credit) # variables de credit str(credit) # estructura de credit levels(credit$foreign_worker) # niveles(valores de variable) dim(credit) # dimensiones (ren x cols) class(credit) # clase del objeto credit # objeto head(credit, n=10) tail(credit, n=10) credit$purpose #purpose attach(credit) # coloca la bd en el path purpose 24 / 68
  • 25. ´ Renglones, columnas, m´nimo y maximo ı # Explorando conteo ren <- nrow(credit) # raw row count col <- ncol(credit) # Min y Max agemin <- min(age,na.rm = TRUE) # min sin NULLS en age agemax <- max(age,na.rm = TRUE) ammin <- min(credit_amount,na.rm = TRUE) ammax <- max(credit_amount,na.rm = TRUE) 25 / 68
  • 26. Subconjuntos # Filtrando por edad mayor30 <- subset(credit, age >= 30) renmayor30 <- nrow(mayor30) renmayor30 en20y40 <- subset(credit, age >= 20 & age <= 40) ren20y40 <- nrow(en20y40) ren20y40 26 / 68
  • 27. Muestra aleatoria set.seed(32) dsmall <- credit[sample(nrow(credit), 10), ] dsmall 27 / 68
  • 28. Rangos # Filtrando por bins agebin = cut(age,breaks = c(18,30,40,50,60,70,80)) agebinfile <- data.frame(purpose,credit_amount, personal_status,housing,job, age=agebin,class) agebinfile 28 / 68
  • 29. ´ Unicos, frecuencia y orden # unicos unicos <- unique(class) unicos nhousing <- length(unique(class)) nhousing # table mycredit <- table(dsmall$class) mycredit mycredit <- table(dsmall$age,dsmall$credit_amount) mycredit # ordenar mycredit <- table(dsmall$housing) mycredit mylist <- sort(mycredit,decreasing = TRUE) mylist 29 / 68
  • 30. Construyendo archivos de salida oframe = data.frame(purpose,credit_amount,personal_status, housing,job,age=agebin,class) write.table(oframe, row.names = FALSE, sep = ";",quote = FALSE, file="../data/output01_data.csv") 30 / 68
  • 31. Tu turno 31 / 68
  • 33. ´ Conceptos basicos ´ Poblacion ´ Es el conjunto completo de elementos de nuestro interes. ´ Las caracter´sticas de una poblacion son las medidas ı estad´sticas de cada uno de sus elementos. ı 32 / 68
  • 34. ´ Conceptos basicos ´ Poblacion ´ Es el conjunto completo de elementos de nuestro interes. ´ Las caracter´sticas de una poblacion son las medidas ı estad´sticas de cada uno de sus elementos. ı Muestra ´ ´ Es una proporcion de la poblacion. Una muestra posee ´ las mismas caracter´sticas de la poblacion si se obtiene ı aleatoriamente. 32 / 68
  • 35. ´ Conceptos basicos ´ Poblacion ´ Es el conjunto completo de elementos de nuestro interes. ´ Las caracter´sticas de una poblacion son las medidas ı estad´sticas de cada uno de sus elementos. ı Muestra ´ ´ Es una proporcion de la poblacion. Una muestra posee ´ las mismas caracter´sticas de la poblacion si se obtiene ı aleatoriamente. [Bartlein, 2009, Trochim, 2006, Quick, 2009, Wackerly et al., 2002] 32 / 68
  • 37. ´ Conceptos basicos Estad´stica descriptiva ı ´ Describe los datos sin ningun tipo de generalizacion. ´ Ejemplo: porcentaje de menores de edad que utilizan redes sociales. 33 / 68
  • 38. ´ Conceptos basicos Estad´stica descriptiva ı ´ Describe los datos sin ningun tipo de generalizacion. ´ Ejemplo: porcentaje de menores de edad que utilizan redes sociales. Inferencia estad´stica ı Generaliza o induce algunas propiedades de la poblacion ´ a partir de la cual los datos se tomaron. Ejemplo: ¿es la ´ satisfaccion del usuario de sistemas de recomendacion ´ significativamente diferente entre hombres y mujeres? 33 / 68
  • 39. ´ Conceptos basicos ´ Variables categoricas ´ No aparecen de forma numerica y tienen dos o mas ´ categor´as o valores. Pueden ser nominales y ordinales. ı Una variable nominal no tiene un orden (e.g., rojo, amarillo, suave), mientras que la ordinal designa un orden (e.g., primer lugar, segundo lugar). 34 / 68
  • 40. ´ Conceptos basicos ´ Variables categoricas ´ No aparecen de forma numerica y tienen dos o mas ´ categor´as o valores. Pueden ser nominales y ordinales. ı Una variable nominal no tiene un orden (e.g., rojo, amarillo, suave), mientras que la ordinal designa un orden (e.g., primer lugar, segundo lugar). ´ Variables numericas Son aquellas que pueden tomar cualquier valor dentro de un intervalo finito o infinito. 34 / 68
  • 41. ´ Tipos de analisis Univariable en el cual se exploran las variables o atributos uno por uno. Bivariable ´ en el cual simultaneamente se analizan dos variables ´ para conocer la relacion entre ellas, su fuerza o si hay ´ diferencias entre ellas y el significado de las mismas. El ´ analisis bivariable puede ser entre dos variables ´ ´ ´ numericas, dos variables categoricas y una variable ´ ´ numerica y una categorica. 35 / 68
  • 42. ´ Analisis univariable ´ Variables categoricas ´ ´ el analisis exploratorio basicamente es un conteo del numero de valores de la variable especificada y el ´ porcentaje de valores de la variable espec´fica. Se ı ´ utilizan las graficas de barras y de pay. ´ Variables numericas ´ se analizan calculando el m´nimo, maximo, media, ı mediana, moda, rango, los cuantiles, la varianza, la ´ ´ ´ desviacion estandar, el coeficiente de variacion, la asimetr´a y la curtosis. Se visualizan mediante ı ´ histogramas y graficas de bigotes. 36 / 68
  • 43. Medidas Min, max Cuantiles (25,50,75) Media Varianza Mediana ´ ´ Desviacion estandar Moda Asimetr´a ı Rango Curtosis 37 / 68
  • 44. En R setwd("path_name") credit <- read.csv(file = "../data/credit-g.csv",sep = ",", na.strings = "NULL") attach(credit) Cargar librer´a moments ı install.packages("moments") library(moments) 38 / 68
  • 45. Moda Mode <- function (x) { cngtable <- table(x) n <- length(cngtable) mode <- as.double(names(sort(cngtable)[n])) mode } moda <- Mode(age) moda 39 / 68
  • 46. Rango Rng <- function(x) { rangem <- diff(range(x)) rangem } rango <- Rng(age) rango 40 / 68
  • 47. Cuantiles Quantiles <- function(x) { quants <- quantile(x) quantval <- as.double(names(table(quants))) quantval } q <- Quantiles(sort(age)) q 41 / 68
  • 51. ´ ´ Desviacion estandar sd <- round(sd(age),2) sd 45 / 68
  • 52. Cargando datos setwd("path") credit <- read.csv(file = "../data/credit-g.csv", sep = ",", na.strings = "NULL") attach(credit) set.seed(32) # Muestra dsmall <- credit[sample(nrow(credit), 5), ] dsmall 46 / 68
  • 53. Puntos 1/3 png(filename = "../figures/foo1.png") # puntos plot(age,credit_amount)
  • 54. Puntos 2/3 png(filename = "../figures/foo1b.png") plot(dsmall$age,type= "o",col="blue")
  • 55. Puntos 3/3 png(filename = "../figures/foo1b.png") plot(dsmall$age,type= "o",col="blue")
  • 56. Bigotes png(filename = "../figures/foo2.png") boxplot(age) ´ ´ Un valor at´pico es una observacion numericamente distante del resto de los ı ´ datos y puede representar datos erroneos. Se considera un valor at´pico el ı que se encuentra 1,5 veces esa distancia de uno de esos cuartiles (at´pico ı leve) o a 3 veces esa distancia (at´pico extremo). ı 50 / 68
  • 57. Histograma simple 1/2 png(filename = "../figures/foo3.png") hist(credit_amount) 51 / 68
  • 58. Histograma simple 2/2 png(filename = "../figures/foo4.png") hist(credit_amount, breaks=30, col="blue") 52 / 68
  • 59. Barras 1/3 png(filename = "../figures/foo5.png") counts <- table(housing) barplot(counts, main="Housing") 53 / 68
  • 60. Barras 2/3 png(filename = "../figures/foo6.png") counts <- table(class) barplot(counts, main="Personal status", horiz=TRUE) 54 / 68
  • 61. Barras 3/3 png(filename = "../figures/foo6a.png") myfile <- data.frame(dsmall$age,dsmall$residence_since, dsmall$duration) barplot(as.matrix(myfile), main="Credito", ylab= "Total", beside=TRUE, col=rainbow(5), cex.names=0.9) legend("topright", c("e1","e2","e3","e4","e5"), bty="n", fill=rainbow(5)) 55 / 68
  • 62. ´ Matriz de dispersion png(filename = "../figures/foo9.png") pairs(~credit_amount+age+existing_credits+num_dependents,data= main="Simple Scatterplot Matrix") 56 / 68
  • 63. Bigotes d <- ggplot(data = credit, aes(x = credit_amount, y = age)) d + geom_boxplot(outlier.shape = 4) + theme_bw() + scale_y_continuous(breaks = seq(0, 100, by = 5)) ggsave(file = "../figures/gg-boxplot.eps", width=5, height=5) 75 70 65 60 55 50 age 45 40 35 30 25 20 5000 10000 15000 credit_amount 57 / 68
  • 64. Barras 1/2 d <- ggplot(data = credit, aes(age)) d + geom_bar() + theme_bw() ggsave(file = "../figures/gg-foo10.eps", width=5, height=5) 80 60 count 40 20 0 20 30 40 50 60 70 age 58 / 68
  • 65. Barras 2/2 d <- ggplot(data = credit, aes(age)) d + geom_bar(binwidth = 0.1) + theme_bw() ggsave(file = "../figures/gg-foo10a.eps", width=5, height=5) 50 40 30 count 20 10 0 20 30 40 50 60 70 age 59 / 68
  • 66. Histograma, media y DS d <- ggplot(data = credit, aes(age)) d + geom_histogram(aes(y = ..count..),binwidth = 0.5) + theme_bw() + scale_x_continuous(breaks = c(media)) + geom_vline(xintercept = media, size = 0.5, colour = "magen geom_vline(xintercept = media+sd, size = 0.5, colour = "bl geom_vline(xintercept = media-sd, size = 0.5, colour = "bl ggsave(file = "../figures/gg-foo11.eps", width=5, height=5) 50 40 30 count 20 10 0 35.55 age 60 / 68
  • 67. Cuts agebin = cut(age,breaks = c(18,30,40,50,60,70,80)) agebinfile <- data.frame(purpose,credit_amount,personal_ status,housing,job,age=agebin,class) agebinfile d <- ggplot(data = agebinfile, aes(age)) d + stat_bin(aes(ymax = ..count..), geom = "bar") + theme_bw() ggsave(file = "../figures/gg-foo12.eps", width=5, height=5) 400 300 count 200 100 0 (18,30] (30,40] (40,50] age (50,60] (60,70] (70,80] 61 / 68
  • 68. Cuts - theme bw() agebin = cut(age,breaks = c(18,30,40,50,60,70,80)) agebinfile <- data.frame(purpose,credit_amount,personal_ status,housing,job,age=agebin,class) agebinfile d <- ggplot(data = agebinfile, aes(age)) d + stat_bin(aes(ymax = ..count..), geom = "bar") + theme_bw() ggsave(file = "../figures/gg-foo12.eps", width=5, height=5) 400 300 count 200 100 0 (18,30] (30,40] (40,50] age (50,60] (60,70] (70,80] 62 / 68
  • 69. Eliminando theme bw() d <- ggplot(credit, aes(housing)) d + geom_bar() ggsave(file = "../figures/gg-foo13.eps", width=5, height=5) 700 600 500 400 count 300 200 100 0 for free own rent housing 63 / 68
  • 70. fill d <- ggplot(credit, aes(age,fill=housing)) d + geom_bar() ggsave(file = "../figures/gg-foo14.eps", width=5, height=5) 80 60 housing for free count own 40 rent 20 0 20 30 40 50 60 70 age 64 / 68
  • 71. Facetas d <- ggplot(credit, aes(age)) d + geom_bar()+facet_wrap(~ housing) ggsave(file = "../figures/gg-foo15.eps", width=5, height=5) for free own 60 40 20 0 count rent 60 40 20 0 20 30 40 50 60 70 20 30 40 50 60 70 age 65 / 68
  • 72. Miner´a de datos: librer´as ı ı ´ Clasificacion. ´ Regresion lineal en R. ´ ´ Particionamiento recursivo y arboles de regresion ´ ´ ´ Clasificacion y arboles de regresion nnet: redes neuronales feed-forward ´ Agrupacion. ´ Agrupacion en R ´ Reglas de asociacion. ´ arules: Reglas de asociacion ´ Seleccion de atributos. FSelector: Selecting attributes Caret: librer´as diversas ı Miner´a de textos. ı tm: librer´a para miner´a de texto ı ı 66 / 68
  • 73. Otros recursos Machine learning R with Python ´ Comparacion Libro 67 / 68
  • 74. ´ R Taller de Introduccion is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. 68 / 68
  • 75. Bartlein, P. (2009). Data analysis and visualization. http://geography.uoregon.edu/bartlein/old_courses/geog414f03/lectures/lec04.htm. Hofmann, H. (1994). UCI machine learning repository. http://bit.ly/laDAFC. Quick, J. M. (2009). R tutorial series: Summary and descriptive statistics. http://www.r-bloggers.com/r-tutorial-series-summary-and-descriptive-statistics/. R Development Core Team (2010). R: A language and environment for statistical computing. http://www.R-project.org. Trochim, W. M. (2006). Research methods knowledge base. http://geography.uoregon.edu/bartlein/old_courses/geog414f03/lectures/lec04.htm. Wackerly, D. D., Scheaffer, R. L., & Mendenhall, W. (2002). ´ Estad´stica matematica con aplicaciones. ı ´ Mexico, 6 edition. 68 / 68