我有一个数据框,其中包含 x、y、值和 50 个位置的唯一 ID。我将此数据框转换为栅格,但丢失了这些位置的唯一 ID。如何在创建的栅格中保留每个位置的名称?
Pred13 = data.frame(x,y,Index)
coordinates(Pred13) = ~x+y
rst_pred_13 <- raster()
extent(rst_pred_13) <- extent(Pred13)
Pred_Yld13 = rasterize(Pred13, rst_pred_13, Pred13, fun = mean)
这只是转换为栅格,但名称(唯一 ID(不再存在。
ID x y Index
D103 574070.6 4452182.5 0.716371109
D104 574969.4 4452182.5 0.744886447
D105 575868.2 4452182.5 0.748975528
D106 576767 4452182.5 0.766794456
S107 577665.8 4452182.5 0.693888885
S108 578564.6 4452182.5 0.711575956
S109 579463.4 4452182.5 0.665713451
S110 580362.2 4452182.5 0.66711642
S111 581261 4452182.5 0.744038446
F112 582159.8 4452182.5 0.698995257
F113 583058.6 4452182.5 0.645033871
F114 583957.4 4452182.5 0.661884746
F115 584856.2 4452182.5 0.661850527
F116 585755 4452182.5 0.59968895
R117 586653.8 4452182.5 0.693592996
R118 587552.6 4452182.5 0.744853835
M119 588451.4 4452182.5 0.746308897
M120 589350.2 4452182.5 0.742065499
M121 590249 4452182.5 0.715676129
M122 591147.8 4452182.5 0.662452103
我解决了这个问题,这就是我这样做的方式。无论如何,谢谢。
df = data.frame(test, na.rm=T)
x=df$x
y=df$y
Index=df$Index
Id_un = unique(df$ID)
for(i in Id_un){
Pred13 = data.frame(x,y,Index)
rst = rasterFromXYZ(Pred13)
names(rst) = unique(i)
rst$newID = as.factor(i)
}