Saat ini saya mengalami beberapa kesulitan dalam menghitung jeda spasial dalam R
. Saya tahu bagaimana menghitung lag dalam format space-wide tetapi saya tidak dapat melakukannya dalam bentuk panjang, yaitu telah mengulangi pengamatan untuk unit analisis.
Di bawah ini adalah beberapa data tiruan untuk menggambarkan apa yang saya coba lakukan. Mari kita mulai dengan menghasilkan beberapa pengamatan peristiwa yang saya minati.
# Create observations
pts<-cbind(set.seed(2014),x=runif(30,1,5),y=runif(30,1,5),
time=sample(1:5,30,replace=T))
require(sp)
pts<-SpatialPoints(pts)
x
dan y
merupakan koordinat saat time
mewakili periode waktu di mana acara berlangsung. Peristiwa perlu dikumpulkan ke poligon yang merupakan unit analisis. Dalam contoh ini poligon adalah sel-kotak dan untuk kesederhanaan batas-batasnya diperbaiki dari waktu ke waktu.
# Observations take place in different areas; create polygons for areas
X<-c(rep(1,5),rep(2,5),rep(3,5),rep(4,5),rep(5,5))
Y<-c(rep(seq(1,5,1),5))
df<-data.frame(X,Y)
df$cell<-1:nrow(df) # Grid-cell identifier
require(raster)
coordinates(df)<-~X+Y
rast<-raster(extent(df),ncol=5,nrow=5)
grid<-rasterize(df,rast,df$cell,FUN=max)
grid<-rasterToPolygons(grid) # Create polygons
Kami dapat memplot data hanya untuk mendapatkan ikhtisar distribusi:
Untuk format ruang-lebar, saya akan menghitung spasi spasi dengan cara berikut:
pointsincell=over(SpatialPolygons(grid@polygons),SpatialPoints(pts),
returnList=TRUE)
grid$totalcount<-unlist(lapply(pointsincell,length))
require(spdep)
neigh<-poly2nb(grid) # Create neighbour list
weights<-nb2listw(neigh,style="B",zero.policy=TRUE) # Create weights (binary)
grid$spatial.lag<-lag.listw(weights,
grid$totalcount,zero.policy=TRUE) # Add to raster
Namun, seperti yang Anda lihat melakukannya dengan cara ini tidak memperhitungkan fakta bahwa peristiwa itu terjadi pada saat yang berbeda pada waktu yang bersamaan. Itu hanya mengumpulkan semuanya ke tingkat poligon. Sekarang saya ingin menghitung keterlambatan spasial ini dengan mempertimbangkan dimensi temporal ini sehingga menggabungkan data dalam kasus ini ke tingkat waktu poligon.
Saya bertanya-tanya apakah ada yang punya saran berguna tentang bagaimana hal ini dapat dicapai? Apa cara paling nyaman untuk menghitung jeda spasial dalam format panjang?
Saya telah melihat spacetime
paketnya tetapi tidak berhasil menerapkannya.