Punto 1 - Regresión Lineal Multiple

library(faraway)
data(gala)
attach(gala)
cor(gala[,c("Species","Area","Elevation","Endemics","Nearest","Scruz","Adjacent")])
##               Species       Area   Elevation     Endemics      Nearest
## Species    1.00000000  0.6178431  0.73848666  0.970876516 -0.014094067
## Area       0.61784307  1.0000000  0.75373492  0.616979087 -0.111103196
## Elevation  0.73848666  0.7537349  1.00000000  0.792904369 -0.011076984
## Endemics   0.97087652  0.6169791  0.79290437  1.000000000  0.005994286
## Nearest   -0.01409407 -0.1111032 -0.01107698  0.005994286  1.000000000
## Scruz     -0.17114244 -0.1007849 -0.01543829 -0.154264319  0.615410357
## Adjacent   0.02616635  0.1800376  0.53645782  0.082658026 -0.116247885
##                 Scruz    Adjacent
## Species   -0.17114244  0.02616635
## Area      -0.10078493  0.18003759
## Elevation -0.01543829  0.53645782
## Endemics  -0.15426432  0.08265803
## Nearest    0.61541036 -0.11624788
## Scruz      1.00000000  0.05166066
## Adjacent   0.05166066  1.00000000
#Se puede tomar como una relacion positiva. Coeficiente de correlacion P = 0.6178431
plot(Species~Area, data=gala)

#Se puede tomar como una relacion positiva. Coeficiente de correlacion P = 0.73848666
plot(Species~Elevation ,data=gala)

#Si hay una relacion muy fuerte. Coeficiente de correlacion P = 0.970876516
plot(Species~Endemics ,data=gala)

#No hay relacion lineal. Coeficiente de correlacion P = -0.014094067
plot(Species~Nearest ,data=gala)

#No hay relacion lineal. Coeficiente de correlacion P = -0.17114244
plot(Species~Scruz ,data=gala)

#No hay relacion lineal. Coeficiente de correlacion P = 0.02616635. Casi nula
plot(Species~Adjacent, data=gala)

#La unica variable importante son los endemismo, por ende se van a quitar algunas variables para determinar si el modelo explica lo suficiente, aun asi posee un R2 de 0.9362 lo que es bueno, pero se quiere llegar al porcentaje mas certero posible. El valor P es casi 0 lo que quiere decir que se podria aceptar la hipotesis. 
Especies= lm(Species~Adjacent+Area+Elevation+Endemics+Nearest+Scruz, data=gala)
summary(Especies)
## 
## Call:
## lm(formula = Species ~ Adjacent + Area + Elevation + Endemics + 
##     Nearest + Scruz, data = gala)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -68.219 -10.225   1.830   9.557  71.090 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -15.337942   9.423550  -1.628    0.117    
## Adjacent      0.001811   0.011879   0.152    0.880    
## Area          0.013258   0.011403   1.163    0.257    
## Elevation    -0.047537   0.047596  -0.999    0.328    
## Endemics      4.393654   0.481203   9.131 4.13e-09 ***
## Nearest      -0.101460   0.500871  -0.203    0.841    
## Scruz         0.008256   0.105884   0.078    0.939    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 28.96 on 23 degrees of freedom
## Multiple R-squared:  0.9494, Adjusted R-squared:  0.9362 
## F-statistic: 71.88 on 6 and 23 DF,  p-value: 9.674e-14
#Quitando las variables que no eran importante se llego a la conclusion de que el modelo con un R2 de 0.9406 explica bastante. El valor pe sigue siento casi 0 lo que indica que se puede aceptar la hipotesis. 
Especies2= lm(Species~Endemics, data=gala)
summary(Especies2)
## 
## Call:
## lm(formula = Species ~ Endemics, data = gala)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -71.791 -15.894   3.507  12.088  78.200 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -21.0480     7.1138  -2.959  0.00622 ** 
## Endemics      4.0721     0.1899  21.443  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 27.95 on 28 degrees of freedom
## Multiple R-squared:  0.9426, Adjusted R-squared:  0.9406 
## F-statistic: 459.8 on 1 and 28 DF,  p-value: < 2.2e-16
library(plotly)
## Loading required package: ggplot2
## 
## Attaching package: 'plotly'
## The following object is masked from 'package:ggplot2':
## 
##     last_plot
## The following object is masked from 'package:stats':
## 
##     filter
## The following object is masked from 'package:graphics':
## 
##     layout
library(ggplot2)

newspecies=predict(Especies2,list(Endemics))
oldspecies=gala$Species
error=oldspecies-newspecies

plotlineal=ggplot(data = gala, aes(x=oldspecies, y=newspecies))+geom_point(color="darkblue", size= 0.15)+geom_smooth(color="cadetblue1")+xlab("Real")+ ylab("Estimado")
#Los resultados que arroja no se encuentran lejos de la linea de tendencia y se encuentran dentro de el margen de error, pero hay datos que si se encuentran alejados tanto de la linea de tendencia como del margen de error. 
plotlineal
## `geom_smooth()` using method = 'loess' and formula 'y ~ x'

plothis=ggplot(gala) + geom_histogram(aes(x=error),fill="cadetblue1")+xlab("Error")+ylab("Estimado") 
#Aunque hay valores que se encuentran cercanos al cero no se evidencia continuidad. 
plothis
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.