library(pacman)
library(readxl)
p_load("base64enc", "htmltools", "mime", "xfun", "prettydoc", "ggplot2", "tidyr", "plotly", "DT")
setwd("~/PyE_206145")
pozos <- read_excel("pozos.xlsx")
names(pozos)
## [1] "PH" "TEMP"
Se tienen datos de 25 personas de peso, edad y grasas.
datatable(pozos)
pairs(pozos)
cor(pozos)
## PH TEMP
## PH 1.00000000 -0.02029087
## TEMP -0.02029087 1.00000000
El comando básico es lm (linear models). El primer argumento de este comando es una fórmula y ~ x en la que se especifica cuál es la variable respuesta o dependiente (y) y cuál es la variable regresora o independiente (x). El segundo argumento, llamado data especifica cuál es el fichero en el que se encuentran las variables. El resultado lo guardamos en un objeto llamado regresion. Este objeto es una lista que contiene toda la información relevante sobre el análisis. Mediante el comando summary obtenemos un resumen de los principales resultados:
regresion <- lm(PH ~ TEMP, data=pozos )
summary(regresion)
##
## Call:
## lm(formula = PH ~ TEMP, data = pozos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.78955 -0.09220 0.01089 0.11089 0.59587
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 7.017231 0.366448 19.149 <2e-16 ***
## TEMP -0.004418 0.012761 -0.346 0.729
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2219 on 291 degrees of freedom
## Multiple R-squared: 0.0004117, Adjusted R-squared: -0.003023
## F-statistic: 0.1199 on 1 and 291 DF, p-value: 0.7294
Los parámetros de la ecuación de la recta de mínimos cuadrados que relaciona la cantidad de PH del pozo en función de la TEMPERATURA vienen dados por la columna ´Estimate´ de la tabla ´Coefficients´ de la salida anterior. Por lo tanto, en este ejemplo la ecuación de la recta de mínimos cuadrados es:
\[ y = 7.017231 - 0.004418 x \]
Los siguientes comandos representan la nube de puntos (comando plot) y añaden la representación gráfica de la recta de mínimos cuadrados (comando abline aplicado al objeto generado por lm):
plot(pozos$PH, pozos$TEMP, xlab="pH", ylab="Temperatura" )
abline(regresion)
Vemos que no nos arroja el dibujo de la regresión, esto podría ser debido a que la relación de sus variables es casi nula.
Uso del comando predict:
nuevos.pH <- data.frame(TEMP= seq(20,30))
predict(regresion,nuevos.pH)
## 1 2 3 4 5 6 7 8
## 6.928871 6.924453 6.920035 6.915617 6.911199 6.906781 6.902363 6.897945
## 9 10 11
## 6.893527 6.889109 6.884691
Podemos ver que en función del rango de 20 a 30 °C se predicen los 11 datos subsecuentes de nuevos pH.