Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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 从空间点数据帧循环光栅提取;每行需要从列中指示的相应光栅中提取_R_For Loop_Iteration_Raster_Spatial - Fatal编程技术网

R 从空间点数据帧循环光栅提取;每行需要从列中指示的相应光栅中提取

R 从空间点数据帧循环光栅提取;每行需要从列中指示的相应光栅中提取,r,for-loop,iteration,raster,spatial,R,For Loop,Iteration,Raster,Spatial,我试图做一个循环,从NDVI光栅中提取多个形状文件的值。形状文件是包含日期和时间的动物GPS位置。形状文件包括根据人口范围生成的随机位置,因此,我将以5:1的比例分配每个没有日期的随机位置,其中一个GPS位置的日期。我有一个函数,可以为每个GPS位置或随机点查找与日期最接近的日期,并将其存储在数据框中作为“x$NDVIfile”代码一直到现在为止,但我认为问题具体在这里: for(j in length(nrow(x))){ a <- raster(paste0("E:/

我试图做一个循环,从NDVI光栅中提取多个形状文件的值。形状文件是包含日期和时间的动物GPS位置。形状文件包括根据人口范围生成的随机位置,因此,我将以5:1的比例分配每个没有日期的随机位置,其中一个GPS位置的日期。我有一个函数,可以为每个GPS位置或随机点查找与日期最接近的日期,并将其存储在数据框中作为“x$NDVIfile”代码一直到现在为止,但我认为问题具体在这里:

for(j in length(nrow(x))){
    a <- raster(paste0("E:/RSF_GIS/HabitatVariables/NDVI/",
                       x$NDVIfile[j], ".tif"))          
    x$ndvi[j] <- raster::extract(a, x[j,])               # extract each row based on the closest NDVI file
  }
长度为(j)(nrow(x))的
{

a回答我自己的问题,解决方案只是改变代码,指示循环的迭代:

for(j in length(nrow(x))){
...
}
应该是

for(j in 1:nrow(x)){
...
}

欢迎使用堆栈溢出。请不要使用代码或数据的图像,因为如果不进行大量不必要的工作,这些图像将无法使用。问题应该是可重复的。请查看堆栈溢出指南,并以对象的形式包含最小数据集,例如,如果数据帧为
df
for(j in 1:nrow(x)){
...
}