按照Dormann等人的方法(2007年),你可以做這樣的事情:
N <- 3000
p <- 1/N
# generate some points
set.seed(1234)
x.coord <- runif(N,0,100)
y.coord <- runif(N,0,100)
points <- cbind(x.coord,y.coord)
# distance matrix between points
Dd <- as.matrix(dist(points))
# weights matrix
w <- exp(-p * Dd)
Ww <- chol(w)
# errors
z <- t(Ww) %*% rnorm(N,0,1)
# plot
df <- data.frame(x = x.coord, y = y.coord, z = z)
require(ggplot2)
ggplot(df, aes(x = x, y = y, col = z)) +
geom_point() +
scale_colour_gradient(low="red", high="white")
其中變量p控制自相關的大小(在這裏我將它設置爲1/3000 = 0.000333)。 p = 0將無關聯。
參考文獻:Dormann,C.F.,McPherson,J.M。,Araujo,M.B。,Bivand,R.,Bolliger,J.,Carl,G.,Wilson,R.(2007)。在分析物種分佈數據時考慮空間自相關的方法:綜述。 Ecography,30(5),609-628。
來源
2013-10-25 11:12:27
EDi
你可以給一個可重複的數據片段,並顯示你已經嘗試過? –
在此處看不到任何代碼或數據。 –
我沒有提供任何代碼或數據,因爲我不認爲這是必要的問題。經緯度點數據集是我能夠提供的,這對於手頭的問題並無幫助,並且很容易模擬。 – SamPassmore