R SpatialPointsDataFrame
のsp
パッケージを使用してタイプのオブジェクトを作成しました。ただし、@, $, . and []
演算子と、オブジェクトのさまざまなプロパティにアクセスするために演算子を使用するタイミングについて混乱しています。これが私のサンプルコードです。
library(sp)
library(rgdal)
#creating a SpatialPointsDataFrame with sample points in UTM
x <- c(15.2, 15.3, 15.4, 15.5, 15.7)
y <- c(50.4, 50.2, 50.3, 50.1, 50.4)
v1 <- c(1.0, 2.0, 3.0, 4.0, 5.0)
v2 <- c("a","b","b","c","a")
attributes <- as.data.frame(cbind(v1,v2))
xy <- cbind(x,y)
locationsDD <- SpatialPointsDataFrame(xy, attributes)
proj4string(locationsDD) <- CRS("+proj=longlat")
locations <- spTransform(locationsDD, CRS("+proj=utm +zone=33"))
plot(locations)
#using the different operators: WHEN TO USE @, $ or [] ?
#all these work!
property1 <- locations$v1
property2 <- locations@data$v1
property3 <- locations@data[,"v1"]
property4 <- locations@data["v1"]
#these also work
property5 <- locations@coords
property6 <- locations@bbox
property7 <- locations@coords[,2]
#these three work only in my special case
property8 <- locations@coords[,"y"]
property9 <- locations$x
property10 <- locations$y
#these don't work: $ operator is invalid for atomic vectors
property11 <- locations@coords$x
property12 <- locations@coords$y
いつ@, $, []
オペレータを使用するのですか?ドキュメントを読み込もうとすると?SpatialPointsDataFrame
、coords
またはなどのさまざまなプロパティが表示されますが、それらのプロパティにアクセスしたり変更したりするために使用するbbox
演算子がわかり@, $, []
ません。
R
構文に関する質問であるため、sp
パッケージまたはそのオブジェクトに固有のものではありません。R
チュートリアルとともにインストールされます。調査から始めてください。Webと印刷媒体は、学習のための豊富な追加リソースを提供しますR
。