# Librerías
library(ggplot2)
library(dplyr)
## Warning: package 'dplyr' was built under R version 4.2.3
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
#Generamos datos
set.seed(182)
distancia <- seq(100, 2000, by = 100)
# pH ORDENADOS
ph_ordenado <- sort(runif(length(distancia), min = 4.2, max = 5.2))
# pH DESORDENADOS
set.seed(123)
ph_desordenado <- runif(length(distancia), min = 4.2, max = 5.2)
df1 <- data.frame(distancia, ph = ph_ordenado, tipo = "Ordenado")
df2 <- data.frame(distancia, ph = ph_desordenado, tipo = "Desordenado")
datos <- rbind(df1, df2)
# MEDIA ARITMÉTICA
media_arit_ordenado <- mean(ph_ordenado)
media_arit_desordenado <- mean(ph_desordenado)
# MEDIA PONDERADA: pesos = 1/distancia
w <- 1/distancia
media_pond_ordenado <- sum(ph_ordenado * w) / sum(w)
media_pond_desordenado <- sum(ph_desordenado * w) / sum(w)
media_arit_ordenado
## [1] 4.808135
media_pond_ordenado
## [1] 4.54269
#Centroides
centroides <- data.frame(
tipo = c("Ordenado", "Ordenado", "Desordenado", "Desordenado"),
metodo = c("Aritmética", "Ponderada", "Aritmética", "Ponderada"),
valor = c(media_arit_ordenado, media_pond_ordenado,
media_arit_desordenado, media_pond_desordenado)
)
centroides
## tipo metodo valor
## 1 Ordenado Aritmética 4.808135
## 2 Ordenado Ponderada 4.542690
## 3 Desordenado Aritmética 4.750808
## 4 Desordenado Ponderada 4.725638
#Graficos
ggplot(datos, aes(x = distancia, y = ph, color = tipo)) +
geom_line(size = 1) +
geom_point(size = 2) +
theme_minimal() +
labs(title = "Transecto de valores de pH (ordenado vs desordenado)",
x = "Distancia (m)",
y = "pH")
## Warning: Using `size` aesthetic for lines was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.

#Graficos
ggplot(datos, aes(x = distancia, y = ph, color = tipo)) +
geom_point(alpha = 0.7) +
geom_line(alpha = 0.5) +
geom_hline(data = centroides,
aes(yintercept = valor, linetype = metodo, color = tipo),
size = 1) +
theme_minimal() +
labs(title = "Centroides (medias) sobre el transecto",
x = "Distancia (m)", y = "pH",
linetype = "Método") +
scale_linetype_manual(values = c("dashed", "solid"))

#pesos
w1 <- 1/distancia # inversa
w2 <- 1/(distancia^2) # inversa al cuadrado
w3 <- distancia # distancia
#medidas ph ponderado ordenado
mp_ordenado_w1 <- sum(ph_ordenado * w1) / sum(w1)
mp_ordenado_w2 <- sum(ph_ordenado * w2) / sum(w2)
mp_ordenado_w3 <- sum(ph_ordenado * w3) / sum(w3)
#medidas ph ponderado desordenado
mp_desordenado_w1 <- sum(ph_desordenado * w1) / sum(w1)
mp_desordenado_w2 <- sum(ph_desordenado * w2) / sum(w2)
mp_desordenado_w3 <- sum(ph_desordenado * w3) / sum(w3)
# Tabla comparativa
centroides_pesos <- data.frame(
tipo = rep(c("Ordenado", "Desordenado"), each = 3),
metodo = rep(c("IDW (1/d)", "IDW (1/d^2)", "Distancia"), 2),
valor = c(
mp_ordenado_w1, mp_ordenado_w2, mp_ordenado_w3,
mp_desordenado_w1, mp_desordenado_w2, mp_desordenado_w3
)
)
centroides_pesos
## tipo metodo valor
## 1 Ordenado IDW (1/d) 4.542690
## 2 Ordenado IDW (1/d^2) 4.329549
## 3 Ordenado Distancia 4.950034
## 4 Desordenado IDW (1/d) 4.725638
## 5 Desordenado IDW (1/d^2) 4.630093
## 6 Desordenado Distancia 4.728365