简化R代码,双循环

时间:2016-02-09 21:17:22

标签: r for-loop bigdata

我有一个相当大的数据集,我已经读入R并按照我想要的方式格式化。我有3列,纬度,经度,以及该地点是否有积雪的指示器。

我还有另一个(更大的)数据集,包含3列:纬度,经度和海拔。我想对这些纬度和经度进行排序,并将它们与我的其他数据集中的lats和longs进行匹配,以添加高程。基本上我想要一个包含4列的数据集:lat,long,indicator和elevation。

我编写了一个执行此操作的程序,但是对于这些非常大的数据集,它的运行效率不高。我不想杀死我的个人电脑。有没有办法加快我的代码?

非常感谢。

      ## Looping through
      for(i in 1:len){
        for(j in 1:78355){
          if(OrigDat1[i,2] == Elev04[j,2] && OrigDat1[i,1] == Elev04[j,1]){
            Elev.vec[i] = as.numeric(Elev04[j,3])
          }
        }
      }

在上面的代码中,' len'术语因shapefile的大小而异,我将数据删除。它的长度从1000到50000个不等。

如果需要,我可以为您提供更多信息。

再次感谢。

0 个答案:

没有答案