Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何利用r中大数据集的interp加速xyz插值_R_Interpolation_Large Data - Fatal编程技术网

如何利用r中大数据集的interp加速xyz插值

如何利用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

我有一个很大的xyz数据集,其中有不规则的点,我想为1km²制作一个1 m分辨率的规则网格。我使用的是akima的插值插值插值。它可以很好地处理一个小数据集,但对整个数据集(3列,超过100万行)来说需要很长时间

下面是一个值较少的示例。我的数据集是随机生成的,但类似

它需要大约40秒来运行它

有没有办法加快速度

所需的值将被注释

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秒才有问题?你必须运行它一百万次吗?