假设我有以下 SpatialPointsDataFrame
library(sp)
exdf <- data.frame(cbind(1:10, 41:50, 101:110))
names(exdf) <- c("id", "x", "y")
coordinates(exdf) <- c("x", "y")
我可以运行以下apply
apply(exdf@data, 1, function(x) {
cat(coordinates(exdf[exdf$id == x["id"],]), "\n")
})
然而,从函数内的同一数据框中进行选择似乎很荒谬。我已经在迭代它了。
请注意,在我的实际使用中,我需要将数据框行和坐标都apply
发送到另一个函数,因此仅在 ing 上exdf@coords
不是一个选项。
问题1:有没有办法做到这一点exdf[exdf$id == x["id"],]
?
问题 2:如果没有,是否有我可以用来代替sp
此类任务的包。我主要需要sp
它的over
功能,并检查spatstat
并决定sp
使用更简单。然而,使用实际上并不data.frame
让我烦恼的“数据框”。
谢谢你。