gdim = c(5,3)
g_complete = sk(gdim=gdim, gres=c(0.5, 0.7), gval=seq(prod(gdim)))
sk_coords(g_complete)
sk_coords(g_complete, out='list')
# missing data example
idx_obs = sort(sample.int(length(g_complete), 5))
g = sk(gdim=gdim, gres=c(0.5, 0.7))
g[idx_obs] = g_complete[idx_obs]
all.equal(sk_coords(g, na_omit=TRUE), sk_coords(g_complete)[idx_obs,])
# corner points
sk_coords(g, corner=TRUE)
sk_coords(g, corner=TRUE, out='list')
# repeat with multi-layer example
g_multi = sk(utils::modifyList(g, list(gval = cbind(g[], 2*g[]))))
all.equal(sk_coords(g_multi, na_omit=TRUE), sk_coords(g_complete)[idx_obs,])
sk_coords(g_multi, corner=TRUE)
# sf output type
if( requireNamespace('sf') ) {
# gather all points but don't copy data
sf_coords_all = sk_coords(sk(g, vals=FALSE), out='sf')
# extract non-NA data
sf_coords = sk_coords(g, out='sf', na_omit=TRUE)
# plot everything together
plot(g, reset=FALSE)
plot(sf_coords_all, add=TRUE)
plot(sf_coords, pch=16, cex=2, add=TRUE)
}
Run the code above in your browser using DataLab