require(pacman) pacman::p_load(dplyr, openxlsx, readr, knitr, flextable, ggplot2, corrplot, kableExtra, GGally, lmtest, car, stargazer, rsm, PerformanceAnalytics, MASS)
2024-06-12
require(pacman) pacman::p_load(dplyr, openxlsx, readr, knitr, flextable, ggplot2, corrplot, kableExtra, GGally, lmtest, car, stargazer, rsm, PerformanceAnalytics, MASS)
Cargar datos
df <- as.data.frame(read.xlsx("./RegMultiple.xlsx", sheet=3))
La variable dependiente es el número de peces de la especie carpita rinconera, Rhinichthys cataractae, por sección de 75 metros del arroyo.
Las variables independientes son el área (en acres) drenada por el arroyo; el oxígeno disuelto (en mg/L); la profundidad máxima (en cm) del segmento de arroyo de 75 metros; concentración de nitrato (mg/L); concentración de sulfato (mg/L); y la temperatura del agua en la fecha de muestreo (en grados °C).
Un objetivo biológico podría ser medir las características físicas y químicas de un arroyo y poder predecir la abundancia del pez; otro objetivo podría ser generar hipótesis sobre las causas de la variación en la abundancia de la carpita rinconera.
flextable(df)
str(df)
df <- data.frame(df[,-1], row.names=df[,1])
chart.Correlation(df) cor(df)
attach(df)
modelo <- lm(Longnose ~ Acerage+DO2+Maxdepth+NO3+SO4+Temp, data = df) summary(modelo) anova(modelo)
crPlots(modelo)
step(lm(Longnose~.,data=df),direction="backward")
step(lm(Longnose~1,data=df),direction="forward",scope=~Acerage + DO2 + Maxdepth + NO3 + SO4 + Temp)
step(lm(Longnose~.,data=df),direction="both")
empty.model <- lm(Longnose~1, data=df) horizonte <- formula(Longnose ~ Acerage+DO2+Maxdepth+NO3+SO4+Temp) modforw <- stepAIC(empty.model, trace=FALSE, direction="forward", scope=horizonte) modforw$anova summary(modforw)
modforw <- update(modforw, Longnose ~ Acerage + NO3 + Maxdepth) summary(modforw)
nuevos.Valores <- data.frame(Acerage = c(20000), NO3 = c(6.25), Maxdepth = c(75)) nuevos.Valores
confianza <- predict(modforw, newdata = nuevos.Valores, interval="confidence") confianza
prediccion2 <- predict(modforw, newdata = nuevos.Valores, interval="prediction") prediccion2
rm(list=ls())