如何利用r中大数据集的interp加速xyz插值
我有一个很大的xyz数据集,其中有不规则的点,我想为1km²制作一个1 m分辨率的规则网格。我使用的是akima的插值插值插值。它可以很好地处理一个小数据集,但对整个数据集(3列,超过100万行)来说需要很长时间 下面是一个值较少的示例。我的数据集是随机生成的,但类似 它需要大约40秒来运行它 有没有办法加快速度 所需的值将被注释如何利用r中大数据集的interp加速xyz插值,r,interpolation,large-data,R,Interpolation,Large Data,我有一个很大的xyz数据集,其中有不规则的点,我想为1km²制作一个1 m分辨率的规则网格。我使用的是akima的插值插值插值。它可以很好地处理一个小数据集,但对整个数据集(3列,超过100万行)来说需要很长时间 下面是一个值较少的示例。我的数据集是随机生成的,但类似 它需要大约40秒来运行它 有没有办法加快速度 所需的值将被注释 x = sort(runif(100000, 300000,301000))# actually I want 1 000 000 and more values y
x = sort(runif(100000, 300000,301000))# actually I want 1 000 000 and more values
y = runif(100000, 5661000,5662000) # actually I want 1 000 000 and more values
z = runif(100000,50,100)# actually I want 1 000 000 and more values
df = data.frame(x, y, z)
xmin <- 300200 -100 # 310000
xmax <- 300800 +100 # 311000
ymin <- 5661200 -100 # 5661000
ymax <- 5661800 +100 # 5662000
gridint <- 100 # actually I want 1 000 values
library(akima)
system.time(fld<- with(df, interp(x = x, y = y, z = z, linear = T, extrap = F,duplicate= "mean",
xo=seq(xmin, xmax, length=gridint),
yo=seq(ymin, ymax, length=gridint))))
contour(fld) # Left graph (most basic graphic output)
fld2 <- as.data.frame(interp2xyz(fld))
x=sort(runif(100000,30000301000))#实际上我想要1000或更多的值
y=runif(100000,56610005662000)#实际上我想要1000或更多的值
z=runif(100000,50100)#实际上我想要1 000 000或更多的值
df=数据帧(x,y,z)
xmin为什么需要40秒才有问题?你必须运行它一百万次吗?