Para este ejercicio usaremos datos de la temperatura media normal obtenidos de la estación meteorológica de ÁLAMOS, SONORA, del SMN: https://smn.conagua.gob.mx/tools/RESOURCES/Normales5110/NORMAL26002.TXT
ALAMOS <- c(18.5,19.1,20.2,22.1,24.7,28.1,28.0,27.6,26.8,24.8,21.6, 19.1)
head(ALAMOS)
## [1] 18.5 19.1 20.2 22.1 24.7 28.1
library(fdth) # Importar paquete / libreria
##
## Attaching package: 'fdth'
## The following objects are masked from 'package:stats':
##
## sd, var
dist <- fdt(ALAMOS, breaks = "Sturges")
#usando la regla de Sturges
dist
## Class limits f rf rf(%) cf cf(%)
## [18.315,20.328) 4 0.33 33.33 4 33.33
## [20.328,22.341) 2 0.17 16.67 6 50.00
## [22.341,24.355) 0 0.00 0.00 6 50.00
## [24.355,26.368) 2 0.17 16.67 8 66.67
## [26.368,28.381) 4 0.33 33.33 12 100.00
#f= frecuencia absoluta
#rf= frecuencia relativa
#rf(%) frecuencia relativa porcentual
#cf= frecuencia acumulada
#cf(%)=frecuencia acumulada porcentual
Ordenar numeros de menor a mayor
sort(ALAMOS)
## [1] 18.5 19.1 19.1 20.2 21.6 22.1 24.7 24.8 26.8 27.6 28.0 28.1
plot(dist, type = "fh") #Histograma de frecuencias absolutas
plot(dist, type = "rfh") #Histograma de frecuencias relativas
plot(dist, type = "cfh") #Histograma de frecuencias acumuladas
plot(dist, type = "fp") #Polígono de frecuencias absolutas
plot(dist, type = "rfp") #Polígono de frecuencias relativas
plot(dist, type = "cfp") #Polígono de frecuencias acumuladas
La media de un conjunto de números, algunas ocasiones simplemente llamda el promedio , es la suma de los datos dividida entre el número total de datos.
mean(ALAMOS)
## [1] 23.38333
La mediana de un conjunto de números es el número medio en el conjunto (después que los números han sido arreglados del menor al mayor) – o, si hay un número par de datos, la mediana es el promedio de los dos números medios.
median(ALAMOS)
## [1] 23.4
library(modeest)
##
## Attaching package: 'modeest'
## The following object is masked from 'package:fdth':
##
## mfv
mlv(ALAMOS, method="mfv")[1]
## [1] 19.1
summary(ALAMOS)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 18.50 19.93 23.40 23.38 27.00 28.10
boxplot(ALAMOS)
var(ALAMOS) #varianza
## [1] 13.84152
sd(ALAMOS) #desviación estándar
## [1] 3.720419
plot(ALAMOS)
Relacion entre la temperatura y la precipitación ¿Son los meses más cálidos en Álamos los meses que más llueve? ¿A mayor temperatura mayor precipitación?
Para esto declararemos 2 variables: TEMPERATURA y PRECIPITACION
TEMPERATURA <- ALAMOS
PRECIPITACION <- c(35.0,17.9,17.8,1.9, 3.9,25.5,184.4,198.2,86.3,53.1,26.3,37.0)
Crear una matriz, data frame con ambas series de datos
meteo <- data.frame(TEMPERATURA, PRECIPITACION)
head(meteo)
## TEMPERATURA PRECIPITACION
## 1 18.5 35.0
## 2 19.1 17.9
## 3 20.2 17.8
## 4 22.1 1.9
## 5 24.7 3.9
## 6 28.1 25.5
pairs(meteo)
cor(meteo)
## TEMPERATURA PRECIPITACION
## TEMPERATURA 1.0000000 0.6129532
## PRECIPITACION 0.6129532 1.0000000
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(PRECIPITACION ~ TEMPERATURA, data=meteo)
summary(regresion)
##
## Call:
## lm(formula = PRECIPITACION ~ TEMPERATURA, data = meteo)
##
## Residuals:
## Min 1Q Median 3Q Max
## -83.524 -25.112 -6.505 27.865 94.662
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -199.274 105.783 -1.884 0.0890 .
## TEMPERATURA 10.971 4.472 2.453 0.0341 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 55.18 on 10 degrees of freedom
## Multiple R-squared: 0.3757, Adjusted R-squared: 0.3133
## F-statistic: 6.018 on 1 and 10 DF, p-value: 0.03407
Los parámetros de la ecuación de la recta de mínimos cuadrados que relaciona la PRECIPITACION en feuncion 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 = -199.274 + 10.971 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(meteo$TEMPERATURA, meteo$PRECIPITACION, xlab = "Temperatura", ylab="Precipitación")
abline(regresion)