Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

raster.modified.ttest

Dutilleul moving window bivariate raster correlation


Description

A bivarate raster correlation using Dutilleul's modified t-test

This function provides a bivariate moving window correlation using the modified t-test to account for spatial autocorrelation. Point based subsampling is provided for computation tractability. The hexagon sampling is recommended as it it good at capturing spatial process that includes nonstationarity and anistropy.

Usage

raster.modified.ttest(
  x,
  y,
  x.idx = 1,
  y.idx = 1,
  d = "AUTO",
  sub.sample = FALSE,
  type = "hexagon",
  p = 0.1,
  size = NULL
)

Arguments

x

x raster for correlation, SpatialPixelsDataFrame or SpatialGridDataFrame object

y

y raster for correlation, SpatialPixelsDataFrame or SpatialGridDataFrame object

x.idx

Index for the column in the x raster object

y.idx

Index for the column in the y raster object

d

Distance for finding neighbors

sub.sample

Should a sub-sampling approach be employed (TRUE/FALSE)

type

If sub.sample = TRUE, what type of sample (random or hexagon)

p

If sub.sample = TRUE, what proportion of population should be sampled

size

Fixed sample size

Value

A SpatialPixelsDataFrame or SpatialPointsDataFrame with the following attributes:

  • corr Correlation

  • Fstat The F-statistic calculated as [degrees of freedom * unscaled F-statistic]

  • p.value p-value for the test

  • moran.x Moran's-I for x

  • moran.y Moran's-I for y

Author(s)

Jeffrey S. Evans <jeffrey_evans@tnc.org>

References

Clifford, P., S. Richardson, D. Hemon (1989), Assessing the significance of the correlationbetween two spatial processes. Biometrics 45:123-134.

Dutilleul, P. (1993), Modifying the t test for assessing the correlation between two spatial processes. Biometrics 49:305-314.

See Also

modified.ttest for test details

Examples

## Not run: 
library(gstat)                                         
library(sp)                                            
                                                        
data(meuse)                                            
data(meuse.grid)                                       
coordinates(meuse) <- ~x + y                           
coordinates(meuse.grid) <- ~x + y                      
                                                        
# GRID-1 log(copper):                                              
v1 <- variogram(log(copper) ~ 1, meuse)                  
x1 <- fit.variogram(v1, vgm(1, "Sph", 800, 1))           
G1 <- krige(zinc ~ 1, meuse, meuse.grid, x1, nmax = 30)
gridded(G1) <- TRUE                                      
G1@data = as.data.frame(G1@data[,-2])

# GRID-2 log(elev):                                              
v2 <- variogram(log(elev) ~ 1, meuse)                  
x2 <- fit.variogram(v2, vgm(.1, "Sph", 1000, .6))        
G2 <- krige(elev ~ 1, meuse, meuse.grid, x2, nmax = 30)
gridded(G2) <- TRUE    
G2@data <- as.data.frame(G2@data[,-2])
G2@data[,1] <- G2@data[,1]

corr <- raster.modifed.ttest(G1, G2)
  plot(raster::raster(corr,1))
  
corr.rand <- raster.modifed.ttest(G1, G2, sub.sample = TRUE, type = "random")	 
corr.hex <- raster.modifed.ttest(G1, G2, sub.sample = TRUE, d = 500, size = 1000)	
  head(corr.hex@data)
    bubble(corr.hex, "corr") 

## End(Not run)

spatialEco

Spatial Analysis and Modelling Utilities

v1.3-6
GPL-3
Authors
Jeffrey S. Evans [aut, cre], Melanie A. Murphy [ctb], Karthik Ram [ctb]
Initial release
2021-03-24

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.