Экспорт значений Kriged из R - PullRequest
0 голосов
/ 09 апреля 2020

Есть ли у кого-нибудь предложения о том, как экспортировать значения из ваших данных kriged в R. Я экспортирую их как растр, но мне нужны фактические значения ячеек. Данные, с которыми я работаю, имеют плотность sh. Я собираю данные, а затем преобразую их в плотности. НО для того, чтобы преобразовать в изобилие, мне нужны значения kriged в формате .csv.

Ниже приведен код, который я использую:

library(sp)
library(gstat)
library(raster)
library(automap)
library(ggplot2)
library(rgdal)
library(maptools)

fsite.fit=fit.variogram(fsite.vario, vgm(model="Sph",psill=fmy.psill,range=fmy.range,nugget=fmy.nugget),
                    fit.method=1)

fXloc = data.frame(Data.krig)$fXloc
fYloc = data.frame(Data.krig)$fYloc
fsite.chull = chull(fXloc,fYloc)
plot(fXloc,fYloc)
lines(fXloc[fsite.chull],fYloc[fsite.chull])

fsite.grid = polygrid(
  xgrid=seq(min(fXloc),max(fXloc),length=100),
  ygrid=seq(min(fYloc),max(fYloc),length=100),
  cbind(
    fXloc[fsite.chull],
    fYloc[fsite.chull]))
names(fsite.grid)=c("fXloc","fYloc")
coordinates(fsite.grid)=c("fXloc","fYloc")
fsite.grid = as(fsite.grid, "SpatialPixels")

plot(fYloc~fXloc,cex=1.2,pch=20,col=2)
points(data.frame(fsite.grid)$fXloc,data.frame(fsite.grid)$fYloc,pch="+")

fsite.ok = krige(fADens~1, Data.krig, fsite.grid, fsite.fit)

Теперь я хочу экспортировать fsite.ok в fsite.grid, но я не могу присоединиться к ним в одном фрейме данных. Я не уверен, где go отсюда. Пожалуйста, пожалуйста, дайте мне знать, если вы хотите, чтобы я добавил что-нибудь еще. В настоящее время я не могу делиться своими данными.

1 Ответ

2 голосов
/ 10 апреля 2020

Ваш пример не является ни минимальным, ни воспроизводимым. Вы могли бы взять пример из gstat Похоже, вы заинтересованы в объекте fsite.ok. Предположительно Spatial*DataFrame.

Пример кода

library(gstat)
library(sp)
data(meuse)
coordinates(meuse) = ~x+y
data(meuse.grid)
gridded(meuse.grid) = ~x+y
meuse.gstat <- gstat(id = "zinc", formula = zinc ~ 1, data = meuse, 
    nmax = 7, set = list(idp = .5))
meuse.gstat
z <- predict(meuse.gstat, meuse.grid)

Теперь вы можете сделать

d <- data.frame(z)
write.csv(d, "values.csv", row.names=FALSE)

Так что в вашем примере это будет

write.csv(data.frame(fsite.ok), "values.csv", row.names=FALSE)
...