Enunciado

  1. (0.5 puntos) Descarga el fichero de datos tiendas.csv situado en http://gauss.inf.um.es/datos/

    download.file( url = 'http://gauss.inf.um.es/datos/tiendas.csv',
                  destfile = 'tiendas.csv' )

    TambiƩn puedes descargarlo accediendo directamente a la web y guardƔndo el conjunto de datos en tu directorio de trabajo.

  2. (0.5 puntos) Lee el fichero usando correctamente los argumentos de la función read.table(): header, sep, dec. Guarda los datos en una variable llamada tiendCamp.

    Puedes utilizar una de las dos opciones:

    tiendCamp <- read.table("http://gauss.inf.um.es/datos/tiendas.csv", 
    header = TRUE, sep = ";", dec = ".")
    tiendCamp <- read.table("tiendas.csv", header = TRUE, sep = ";", dec = ".")
  3. (1 punto) Utiliza funciones como head(), dim(), str() para inspeccionar la estructura de tiendCamp. ¿Qué información contiene ese conjunto de datos? (haz algún comentario).

    head( tiendCamp )
    ##   precio peso altura   marca       uso estaciones capacidad.person.
    ## 1 349.95  960     96 coleman mochilero  primavera                 2
    ## 2 449.95 1450    107 coleman mochilero  primavera                 3
    ## 3 159.95 1700    102   kelty mochilero  primavera                 2
    ## 4 359.95 2160    107 coleman mochilero  primavera                 3
    ## 5 149.00 2210    107     rei mochilero  primavera                 2
    ## 6 399.95 1530    107 coleman mochilero  primavera                 2
    dim( tiendCamp )
    ## [1] 90  7
    str( tiendCamp )
    ## 'data.frame':    90 obs. of  7 variables:
    ##  $ precio           : num  350 450 160 360 149 ...
    ##  $ peso             : num  960 1450 1700 2160 2210 1530 2690 1840 3200 850 ...
    ##  $ altura           : int  96 107 102 107 107 107 117 114 122 97 ...
    ##  $ marca            : Factor w/ 8 levels "coleman","kelty",..: 1 1 2 1 8 1 3 1 8 1 ...
    ##  $ uso              : Factor w/ 3 levels "alpinismo","caravana",..: 3 3 3 3 3 3 3 3 3 3 ...
    ##  $ estaciones       : Factor w/ 3 levels "otonho","primavera",..: 2 2 2 2 2 2 2 2 2 2 ...
    ##  $ capacidad.person.: int  2 3 2 3 2 2 3 4 4 1 ...
  4. (2 puntos) Selecciona las variables cuantitativas (precio, peso y altura) y haz un resumen de las variables. ComƩntalo.

    resumen <- apply( tiendCamp[,1:3], 2, summary )
    resumen
    ##           precio     peso   altura
    ## Min.     99.5000  850.000  90.0000
    ## 1st Qu. 261.5000 1855.000 102.0000
    ## Median  344.4750 2405.000 112.0000
    ## Mean    349.1556 3394.599 125.8333
    ## 3rd Qu. 399.9500 4755.625 151.5000
    ## Max.    699.9500 9553.800 203.0000
  5. (4 puntos) Elabora un grÔfico de dispersión enfrentando las variables peso y altura. Ese grÔfico debe tener:
    • Etiquetar los ejes con nombres adecuados (0.5 puntos).
    • Poner un tĆ­tulo representativo. (0.5 puntos).
    • Rango de la variable peso entre 0 y 10000 (0.5 puntos).
    • Rango de la variable altura entre 80 y 220 (0.5 puntos).
    • Pinta los puntos por colores segĆŗn la variable uso (0.5 puntos).
    • Utiliza distintos sĆ­mbolos en función de la capacidad de la tienda (0.5 puntos).
    • Busca en la ayuda de la función par() cómo cambiar el tamaƱo y color del tĆ­tulo. ModifĆ­calos a tu gusto. (1 punto)
    par(cex.title  = 0.8, col.main= "red" )
    
    plot( tiendCamp$peso, tiendCamp$altura, 
         xlab = "peso",
         ylab = "altura",
         main = "Peso vs altura",
         xlim = c(0, 10000),
         ylim = c(80, 220),
         col = tiendCamp$uso,
         pch = tiendCamp$capacidad.person.
          )

  6. (2 puntos) Crea un modelo de regresión lineal que se ajuste a la nube de puntos. Utiliza para ello la función lm( y ~ x, data = tiendCamp). Guarda el modelo en una variable y añÔdelo al grÔfico con la función abline().

    Como la función abline() es de bajo nivel, tenemos que ejecutar de nuevo la función plot() para lanzar el device grÔfico y así poder añadir la recta de regresión.

    plot( tiendCamp$peso, tiendCamp$altura, 
         xlab = "peso",
         ylab = "altura",
         main = "Peso vs altura",
         xlim = c(0, 10000),
         ylim = c(80, 220),
         col = tiendCamp$uso,
         pch = tiendCamp$capacidad.person.
          )
    
    
    mod <- lm( altura ~ peso, data = tiendCamp)
    abline( mod )