library(readr)
# install.packages("corrplot") # Nuevo
library(corrplot) # Para correlación
## corrplot 0.84 loaded
library(caret) # Para dividir conjunto de datos
## Loading required package: lattice
## Loading required package: ggplot2
# install.packages("MASS") # NUEVO
library(MASS)
oxidoNit <- c(0.90, 0.91, 0.96, 0.89, 1.00, 1.10, 1.15, 1.03, 0.77, 1.07, 1.07, 0.94, 1.10, 1.10, 1.10, 0.91, 0.87, 0.78, 0.82, 0.95)
humedad <- c(72.4, 41.6, 34.3, 35.1, 10.7, 12.9, 8.3, 20.1, 72.2, 24.0, 23.2, 47.4, 31.5, 10.6, 11.2, 73.3, 75.4, 96.6, 107.4, 54.9)
temperatura <- c(76.3, 70.3, 77.1, 68.0, 79.0, 67.4, 66.8, 76.9, 77.7, 67.7, 76.8, 86.6, 76.9, 86.3, 86.0, 76.3, 77.9, 78.7, 86.8, 70.9)
presion <- c(29.18, 29.35, 29.24, 29.27, 29.78, 29.39, 29.69, 29.48, 29.09, 29.60, 29.38, 29.35, 29.63, 29.56, 29.48, 29.40, 29.28, 29.29, 29.03, 29.37)
#datos <- data.frame(oxidoNit, humedad, temperatura, presion)
#datos
length(oxidoNit)
## [1] 20
length(temperatura)
## [1] 20
length(humedad)
## [1] 20
length(presion)
## [1] 20
datos <- data.frame(oxidoNit, humedad, temperatura, presion)
datos
## oxidoNit humedad temperatura presion
## 1 0.90 72.4 76.3 29.18
## 2 0.91 41.6 70.3 29.35
## 3 0.96 34.3 77.1 29.24
## 4 0.89 35.1 68.0 29.27
## 5 1.00 10.7 79.0 29.78
## 6 1.10 12.9 67.4 29.39
## 7 1.15 8.3 66.8 29.69
## 8 1.03 20.1 76.9 29.48
## 9 0.77 72.2 77.7 29.09
## 10 1.07 24.0 67.7 29.60
## 11 1.07 23.2 76.8 29.38
## 12 0.94 47.4 86.6 29.35
## 13 1.10 31.5 76.9 29.63
## 14 1.10 10.6 86.3 29.56
## 15 1.10 11.2 86.0 29.48
## 16 0.91 73.3 76.3 29.40
## 17 0.87 75.4 77.9 29.28
## 18 0.78 96.6 78.7 29.29
## 19 0.82 107.4 86.8 29.03
## 20 0.95 54.9 70.9 29.37
summary(datos)
## oxidoNit humedad temperatura presion
## Min. :0.7700 Min. : 8.30 Min. :66.80 Min. :29.03
## 1st Qu.:0.8975 1st Qu.: 18.30 1st Qu.:70.75 1st Qu.:29.28
## Median :0.9550 Median : 34.70 Median :76.90 Median :29.38
## Mean :0.9710 Mean : 43.16 Mean :76.52 Mean :29.39
## 3rd Qu.:1.0775 3rd Qu.: 72.25 3rd Qu.:78.78 3rd Qu.:29.50
## Max. :1.1500 Max. :107.40 Max. :86.80 Max. :29.78
str(datos)
## 'data.frame': 20 obs. of 4 variables:
## $ oxidoNit : num 0.9 0.91 0.96 0.89 1 1.1 1.15 1.03 0.77 1.07 ...
## $ humedad : num 72.4 41.6 34.3 35.1 10.7 12.9 8.3 20.1 72.2 24 ...
## $ temperatura: num 76.3 70.3 77.1 68 79 67.4 66.8 76.9 77.7 67.7 ...
## $ presion : num 29.2 29.4 29.2 29.3 29.8 ...
plot(datos)
### Correlaciones
cor(x=datos, method = "pearson")
## oxidoNit humedad temperatura presion
## oxidoNit 1.0000000 -0.8773635 -0.1807651 0.7740084
## humedad -0.8773635 1.0000000 0.2535071 -0.7554882
## temperatura -0.1807651 0.2535071 1.0000000 -0.1936361
## presion 0.7740084 -0.7554882 -0.1936361 1.0000000
pairs(x=datos, lower.panel = NULL)
#### Correlación con corrplot()
corrplot(corr = cor(x=datos, method = "pearson"), method = "number")
## . #### Generando el modelo con todos los datos
modelo <- lm(oxidoNit ~ ., data = datos)
modelo
##
## Call:
## lm(formula = oxidoNit ~ ., data = datos)
##
## Coefficients:
## (Intercept) humedad temperatura presion
## -3.5077781 -0.0026250 0.0007989 0.1541550
Ecuación de regresión lineal:
h = 50
t = 76
p = 29.30
nuevodato <- data.frame(humedad = h, temperatura = t, presion = p)
nuevodato
## humedad temperatura presion
## 1 50 76 29.3
y.predict <- predict(modelo, nuevodato)
y.predict
## 1
## 0.9384342
y.predict.2 <- modelo$coefficients[1] + modelo$coefficients[2] * h + modelo$coefficients[3] * t + modelo$coefficients[4] * p
y.predict.2
## (Intercept)
## 0.9384342
Estimación:
summary(modelo)
##
## Call:
## lm(formula = oxidoNit ~ ., data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.11799 -0.02526 0.01345 0.04103 0.06523
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -3.5077781 3.0048641 -1.167 0.26017
## humedad -0.0026250 0.0006549 -4.008 0.00101 **
## temperatura 0.0007989 0.0020451 0.391 0.70121
## presion 0.1541550 0.1013675 1.521 0.14784
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.05617 on 16 degrees of freedom
## Multiple R-squared: 0.8005, Adjusted R-squared: 0.763
## F-statistic: 21.4 on 3 and 16 DF, p-value: 7.609e-06
Lo primero que podemos observar en nuestra presente practica es el coeficiente de correlacion el cual nos da un valor de 0.8005 Lo cual significa que tenemos una correlación positiva considerable. En primera instancia y observando este coeficiente podemos determinar que nuestros datos son candidatos a tener una correlacion y una vez interpretado dicho coeficiente de correlacion podemos decidir si continuar con nuestro analisis. Si es asi podemos aplicar algoritmos de regresión.
Posteriormente en nuestro coeficiente de correlacion podremos observar que existe una relacion entre las variables humedad, temperatura y presión, esto nos da de resultado una nueva variable que se llama oxidoNit.
Tenemos una variacion de 0.05617 con respecto a la linea de tendencia del respectivo modelo.
Lo mas importante de analizar en nuestro modelo es la humedad y presión relacionado a el óxido nitroso