Calculate Moran's I between two groups with irregular data shape.

IrregularMoransI(
  X,
  W,
  group1,
  group2,
  OLS = FALSE,
  normalize = TRUE,
  alternative = c("two.sided", "less", "greater"),
  p.adjust.method = "BH"
)

Arguments

X

A matrix with observations as rows and features as columns.

W

A weight matrix across all observations, i.e inverse of a pairwise distance matrix.

group1

The indices or names for the first group of observations.

group2

The indices or names for the second group of observations.

OLS

Whether to use OLSMoransI, default is FALSE and BivariateMoransI is used.

normalize

Whether to normalize the weight matrix such that each row adds up to one. Default is TRUE.

alternative

Alternative hypothesis used, default is two.sided.

p.adjust.method

Method used for multiple comparisons correction, default is BH. See p.adjust.

Value

A list containing the output from BivariateMoransI or OLSMoransI.

Examples

{
data.use <- quakes[1:100,]
W <- 1/as.matrix(dist(data.use[,1:2]))
diag(W) <- 0
res <- IrregularMoransI(data.use[,3:4], W, 1:10, 21:30)
}