2013-07-13 27 views
1

我想繪製存儲在SpatialPixelsDataFrame對象中的克里格結果。使用spplot,它會自動創建一個包含var1.pred,var1.var和var1.stdev的圖。R:刪除SpatialPixelsDataFrame對象的插槽中的屬性

這很好,但我希望spplot函數只繪製var1.pred,這就是爲什麼我要刪除var1.var和var1.stdev(它們作爲屬性存儲在插槽@data中)的原因。

我不知道該怎麼做 - 任何人都可以幫忙嗎?提前致謝!

比方說,我的對象被稱爲「AA」,那麼這裏就是關於它的信息:

str(aa) 
Formal class 'SpatialPixelsDataFrame' [package "sp"] with 7 slots 
[email protected] data  :'data.frame': 4986 obs. of 3 variables: 
.. ..$ var1.pred : num [1:4986] 5.95 5.96 5.96 5.94 5.95 ... 
.. ..$ var1.var : num [1:4986] 0.000445 0.0005 0.00072 0.008354 0.000917 ... 
.. ..$ var1.stdev: num [1:4986] 0.0211 0.0224 0.0268 0.0914 0.0303 ... 
[email protected] coords.nrs : int [1:2] 1 2 
[email protected] grid  :Formal class 'GridTopology' [package "sp"] with 3 slots 
.. .. [email protected] cellcentre.offset: Named num [1:2] 0.139 0.408 
.. .. .. ..- attr(*, "names")= chr [1:2] "x1" "x2" 
.. .. [email protected] cellsize   : Named num [1:2] 0.174 0.174 
.. .. .. ..- attr(*, "names")= chr [1:2] "x1" "x2" 
.. .. [email protected] cells.dim  : Named int [1:2] 56 154 
.. .. .. ..- attr(*, "names")= chr [1:2] "x1" "x2" 
[email protected] grid.index : int [1:4986] 8604 8548 8492 8435 8436 8379 8380 8323 8324 8325 ... 
[email protected] coords  : num [1:4986, 1:2] 6.22 6.22 6.22 6.05 6.22 ... 
.. ..- attr(*, "dimnames")=List of 2 
.. .. ..$ : NULL 
.. .. ..$ : chr [1:2] "x1" "x2" 
[email protected] bbox  : num [1:2, 1:2] 0.139 0.408 9.697 26.994 
.. ..- attr(*, "dimnames")=List of 2 
.. .. ..$ : chr [1:2] "x1" "x2" 
.. .. ..$ : chr [1:2] "min" "max" 
[email protected] proj4string:Formal class 'CRS' [package "sp"] with 1 slots 
.. .. [email protected] projargs: chr NA 

回答

1

,請下次再提供一個reproductible example,沒有必要在這裏刪除的東西。

spplot幫助文件你有

spplot.grid(obj, zcol = names(obj), ..., names.attr, scales = list(draw = FALSE), 
    xlab = NULL, ylab = NULL, aspect = mapasp(obj,xlim,ylim), 
    panel = panel.gridplot, sp.layout = NULL, formula, xlim = bbox(obj)[1, ], 
    ylim = bbox(obj)[2, ], checkEmptyRC = TRUE) 

.................................................................... 
.................................................................... 
.................................................................... 

obj: object of class extending Spatial-class 

zcol: character; attribute name(s) or column number(s) in attribute 
     table 
.................................................................... 
.................................................................... 
.................................................................... 

當你陷入R,嘗試的第一件事就是幫助文件第一。 在這裏你可以看到zcol參數可以解決你的問題。

使用meuse.grid數據集具有5列,我們可以決定繪製這樣

require(sp) 
data(meuse.grid) 
coordinates(meuse.grid) = c("x", "y") 
gridded(meuse.grid) <- TRUE 

class(meuse.grid) 
[1] "SpatialPixelsDataFrame" 
attr(,"package") 
[1] "sp" 

names(meuse.grid) 
[1] "part.a" "part.b" "dist" "soil" "ffreq" 

spplot(meuse.grid, "soil") 

「土」列這人會工作太

spplot(meuse.grid["soil"]) 
0

一個@的數據是數據.frame,因此您可以像數據框一樣操作它:

[email protected]<[email protected][,1,drop=FALSE] 

drop = FALSE參數使[]不嘗試將結果降至最低維度。

0

指定地塊名稱:

split(dataset["vari.pred"])