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
    CODE_19032024.docx - Diseno de Experimentos