Codigo - Design of Experiments: CODE_19032024.docx
Correlacion, autocorrelacion y dependencia espacial con Moran I.
Scripts para diseno experimental
Sesion CODE_19032024 en R
Correlacion, autocorrelacion y dependencia espacial con Moran I.
# Correlacion
# r (muestra), rho (poblacion)
# r_xy = sum((x_i - x_bar)(y_i - y_bar)) / (sqrt(sum((x_i-x_bar)^2)) * sqrt(sum((y_i-y_bar)^2)))
# Fijar semilla
set.seed(123)
library(faux)
# Crear datos con correlacion positiva
datos <- rnorm_multi(
n = 60,
vars = 2,
mu = c(5.5, 120),
sd = c(0.5, 10),
r = 0.7,
varnames = c("pH", "CIC")
)
# Primeros datos
head(datos)
# Coeficiente de correlacion de Pearson
cor(datos, method = "pearson")
# Serie simulada
a <- sort.int(rnorm(360, 100, 30), decreasing = TRUE)
plot(a, type = "l")
r <- runif(30, 50, 80)
a_f <- a[1:30] + r
plot(a_f, type = "l")
# Funcion de autocorrelacion parcial
pacf(a_f)
library(ggplot2)
library(dplyr)
# Dependencia espacial
xy <- expand.grid(x = seq(0, 80, 10), y = seq(0, 80, 10))
df <- data.frame(x = xy$x, y = xy$y)
df$MO <- sort.int(sample(seq(0.5, 3.5, 0.5), 81, replace = TRUE))
df |>
ggplot(aes(x = x, y = y, fill = MO)) +
geom_tile(color = "white") +
theme_bw()
# Matriz de distancias
mat_dist <- as.matrix(dist(cbind(df$x, df$y)))
# Maxima distancia y visualizacion
max(mat_dist)
image(mat_dist)
hist(mat_dist)
plot(mat_dist[1, ], pch = 16, cex = 2)
# Matriz de pesos
W <- 1 / mat_dist
diag(W) <- 0
image(W)
# Moran's I
library(ape)
Moran.I(x = df$MO, weight = W)Lenguaje: RDescargar script