Teoría

lm() es la función en R para ajustar modelos lineales.
Es el modelo estadístico más básico que existe y más fácil de interpretar.
Para interpretarlo se usa la medida R-cuadrada, que significa que tan cerca están los datos de la regresión. Va de 0 a 1, donde 1 es que el modelo explica toda la variabilidad.

Contexto

La empresa renta bicicletas y cuenta con registros por hora de las que tiene rentadas. Se desea generar un modelo predictivo.

Instalar paquetes y llamar librerías

# file.choose()
df <- read.csv("/Users/greciabasurto/Downloads/rentadebicis.csv")

Entender la base de datos

summary(df)
##       hora            dia              mes              año      
##  Min.   : 0.00   Min.   : 1.000   Min.   : 1.000   Min.   :2011  
##  1st Qu.: 6.00   1st Qu.: 5.000   1st Qu.: 4.000   1st Qu.:2011  
##  Median :12.00   Median :10.000   Median : 7.000   Median :2012  
##  Mean   :11.54   Mean   : 9.993   Mean   : 6.521   Mean   :2012  
##  3rd Qu.:18.00   3rd Qu.:15.000   3rd Qu.:10.000   3rd Qu.:2012  
##  Max.   :23.00   Max.   :19.000   Max.   :12.000   Max.   :2012  
##     estacion     dia_de_la_semana     asueto         temperatura   
##  Min.   :1.000   Min.   :1.000    Min.   :0.00000   Min.   : 0.82  
##  1st Qu.:2.000   1st Qu.:2.000    1st Qu.:0.00000   1st Qu.:13.94  
##  Median :3.000   Median :4.000    Median :0.00000   Median :20.50  
##  Mean   :2.507   Mean   :4.014    Mean   :0.02857   Mean   :20.23  
##  3rd Qu.:4.000   3rd Qu.:6.000    3rd Qu.:0.00000   3rd Qu.:26.24  
##  Max.   :4.000   Max.   :7.000    Max.   :1.00000   Max.   :41.00  
##  sensacion_termica    humedad       velocidad_del_viento
##  Min.   : 0.76     Min.   :  0.00   Min.   : 0.000      
##  1st Qu.:16.66     1st Qu.: 47.00   1st Qu.: 7.002      
##  Median :24.24     Median : 62.00   Median :12.998      
##  Mean   :23.66     Mean   : 61.89   Mean   :12.799      
##  3rd Qu.:31.06     3rd Qu.: 77.00   3rd Qu.:16.998      
##  Max.   :45.45     Max.   :100.00   Max.   :56.997      
##  rentas_de_no_registrados rentas_de_registrados rentas_totales 
##  Min.   :  0.00           Min.   :  0.0         Min.   :  1.0  
##  1st Qu.:  4.00           1st Qu.: 36.0         1st Qu.: 42.0  
##  Median : 17.00           Median :118.0         Median :145.0  
##  Mean   : 36.02           Mean   :155.6         Mean   :191.6  
##  3rd Qu.: 49.00           3rd Qu.:222.0         3rd Qu.:284.0  
##  Max.   :367.00           Max.   :886.0         Max.   :977.0
str(df)
## 'data.frame':    10886 obs. of  14 variables:
##  $ hora                    : int  0 1 2 3 4 5 6 7 8 9 ...
##  $ dia                     : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ mes                     : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ año                     : int  2011 2011 2011 2011 2011 2011 2011 2011 2011 2011 ...
##  $ estacion                : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ dia_de_la_semana        : int  6 6 6 6 6 6 6 6 6 6 ...
##  $ asueto                  : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ temperatura             : num  9.84 9.02 9.02 9.84 9.84 ...
##  $ sensacion_termica       : num  14.4 13.6 13.6 14.4 14.4 ...
##  $ humedad                 : int  81 80 80 75 75 75 80 86 75 76 ...
##  $ velocidad_del_viento    : num  0 0 0 0 0 ...
##  $ rentas_de_no_registrados: int  3 8 5 3 0 0 2 1 1 8 ...
##  $ rentas_de_registrados   : int  13 32 27 10 1 1 0 2 7 6 ...
##  $ rentas_totales          : int  16 40 32 13 1 1 2 3 8 14 ...
head(df)
##   hora dia mes  año estacion dia_de_la_semana asueto temperatura
## 1    0   1   1 2011        1                6      0        9.84
## 2    1   1   1 2011        1                6      0        9.02
## 3    2   1   1 2011        1                6      0        9.02
## 4    3   1   1 2011        1                6      0        9.84
## 5    4   1   1 2011        1                6      0        9.84
## 6    5   1   1 2011        1                6      0        9.84
##   sensacion_termica humedad velocidad_del_viento rentas_de_no_registrados
## 1            14.395      81               0.0000                        3
## 2            13.635      80               0.0000                        8
## 3            13.635      80               0.0000                        5
## 4            14.395      75               0.0000                        3
## 5            14.395      75               0.0000                        0
## 6            12.880      75               6.0032                        0
##   rentas_de_registrados rentas_totales
## 1                    13             16
## 2                    32             40
## 3                    27             32
## 4                    10             13
## 5                     1              1
## 6                     1              1
tail(df,10)
##       hora dia mes  año estacion dia_de_la_semana asueto temperatura
## 10877   14  19  12 2012        4                3      0       17.22
## 10878   15  19  12 2012        4                3      0       17.22
## 10879   16  19  12 2012        4                3      0       17.22
## 10880   17  19  12 2012        4                3      0       16.40
## 10881   18  19  12 2012        4                3      0       15.58
## 10882   19  19  12 2012        4                3      0       15.58
## 10883   20  19  12 2012        4                3      0       14.76
## 10884   21  19  12 2012        4                3      0       13.94
## 10885   22  19  12 2012        4                3      0       13.94
## 10886   23  19  12 2012        4                3      0       13.12
##       sensacion_termica humedad velocidad_del_viento rentas_de_no_registrados
## 10877            21.210      50              12.9980                       33
## 10878            21.210      50              19.0012                       28
## 10879            21.210      50              23.9994                       37
## 10880            20.455      50              26.0027                       26
## 10881            19.695      50              23.9994                       23
## 10882            19.695      50              26.0027                        7
## 10883            17.425      57              15.0013                       10
## 10884            15.910      61              15.0013                        4
## 10885            17.425      61               6.0032                       12
## 10886            16.665      66               8.9981                        4
##       rentas_de_registrados rentas_totales
## 10877                   185            218
## 10878                   209            237
## 10879                   297            334
## 10880                   536            562
## 10881                   546            569
## 10882                   329            336
## 10883                   231            241
## 10884                   164            168
## 10885                   117            129
## 10886                    84             88

Limpiar la base de datos

LS0tCnRpdGxlOiAiUmVncmVzacOzbiBMaW5lYWwgLSBSZW50YSBkZSBCaWNpcyIKYXV0aG9yOiAiR3JlY2lhIEJhc3VydG8gQTAxMTk4MjkyIgpkYXRlOiAiMjAyNi0wOC0xNyIKb3V0cHV0OiAKICBodG1sX2RvY3VtZW50OgogICAgdG9jOiBUUlVFCiAgICB0b2NfZmxvYXQ6IFRSVUUKICAgIGNvZGVfZG93bmxvYWQ6IFRSVUUKICAgIHRoZW1lOiBjb3NtbwotLS0KIVtdKGh0dHBzOi8vd3d3LmdvYi5teC9zYWx1ZC9hcnRpY3Vsb3MvYW5kYXItZW4tYmljaS1idWVuby1wYXJhLXRpLWJ1ZW5vLXBhcmEtZWwtYW1iaWVudGU/aWRpb209ZXMpCgoKIyA8c3BhbiBzdHlsZT0iY29sb3I6Ymx1ZSI+VGVvcsOtYTwvc3Bhbj4KKipsbSgpKiogZXMgbGEgZnVuY2nDs24gZW4gUiBwYXJhIGFqdXN0YXIgbW9kZWxvcyBsaW5lYWxlcy4gIApFcyBlbCBtb2RlbG8gZXN0YWTDrXN0aWNvIG3DoXMgYsOhc2ljbyBxdWUgZXhpc3RlIHkgbcOhcyBmw6FjaWwgZGUgaW50ZXJwcmV0YXIuICAKUGFyYSBpbnRlcnByZXRhcmxvIHNlIHVzYSBsYSBtZWRpZGEgUi1jdWFkcmFkYSwgcXVlIHNpZ25pZmljYSBxdWUgdGFuIGNlcmNhIGVzdMOhbiBsb3MgZGF0b3MgZGUgbGEgcmVncmVzacOzbi4gVmEgZGUgMCBhIDEsIGRvbmRlIDEgZXMgcXVlIGVsIG1vZGVsbyBleHBsaWNhIHRvZGEgbGEgdmFyaWFiaWxpZGFkLiAgCgojIDxzcGFuIHN0eWxlPSJjb2xvcjpibHVlIj5Db250ZXh0bzwvc3Bhbj4KTGEgZW1wcmVzYSByZW50YSBiaWNpY2xldGFzIHkgY3VlbnRhIGNvbiByZWdpc3Ryb3MgcG9yIGhvcmEgZGUgbGFzIHF1ZSB0aWVuZSByZW50YWRhcy4gU2UgZGVzZWEgZ2VuZXJhciB1biBtb2RlbG8gcHJlZGljdGl2by4gIAoKCiMgPHNwYW4gc3R5bGU9ImNvbG9yOmJsdWUiPkluc3RhbGFyIHBhcXVldGVzIHkgbGxhbWFyIGxpYnJlcsOtYXM8L3NwYW4+CmBgYHtyfQojIGZpbGUuY2hvb3NlKCkKZGYgPC0gcmVhZC5jc3YoIi9Vc2Vycy9ncmVjaWFiYXN1cnRvL0Rvd25sb2Fkcy9yZW50YWRlYmljaXMuY3N2IikKYGBgCgojIDxzcGFuIHN0eWxlPSJjb2xvcjpibHVlIj5FbnRlbmRlciBsYSBiYXNlIGRlIGRhdG9zPC9zcGFuPgpgYGB7cn0Kc3VtbWFyeShkZikKc3RyKGRmKQpoZWFkKGRmKQp0YWlsKGRmLDEwKQpgYGAKCiMgPHNwYW4gc3R5bGU9ImNvbG9yOmJsdWUiPkxpbXBpYXIgbGEgYmFzZSBkZSBkYXRvczwvc3Bhbj4KYGBge3J9CgpgYGAKCg==