在计算两个数据集之间的pointDistance时保留标识符吗?

亚当

G'day All,

我有两组点数据,一组具有24个位置,另一组具有〜16,000。我想计算从24个点到16,000个点的距离。使用R栅格数据包中的pointDistance()可以很容易地做到这一点,但是我无法确定正在比较哪些对。我想创建一个data.frame,其中包含每个比较的位置名称,以便将其与距离结合起来。

a <- data.frame('lon' = c(1,5,55,31), 'lat' = c(3,7,20,22), 'loc' = c('a', 'b', 'c', 'd'))
b <- data.frame('lon' = c(4,2,8,65), 'lat' = c(50,-90,20,32), 'loc' = c('e', 'f', 'g', 'h'))   
dist <- function(x, y){
 for( i in 1:length(a$lon)){
    my_vector <- vector(mode = "numeric", length = 0)
    d <- pointDistance(cbind(x[i,'lon'], x[i,'lat']), cbind(y$lon, y$lat), lonlat=TRUE)
    my_vector <- c(my_vector, d)
    }
    my_vector
 }

我今天过得很慢,无法弄清楚为什么我上面的函数没有输出每个组合。它没有将d的每次迭代都添加到my_vector中。

同时,我想包括产生每个距离量度的位置的成对组合,例如:

  loc1   loc2   dist
     a      e     10
     a      f     16
     a      g     12
     a      h     19
     b      e     15
     b      f     17
     b      g     14
     b      h     13
     c      e     11
   etc    etc    etc

很抱歉打扰您,我们将不胜感激。

提前致谢。

亚当

财务管理师

您每次迭代都会用零长度的矢量覆盖结果。在循环外声明变量:

dist <- function(x, y){my_vector <- vector(mode = "numeric", length = 0)
 for( i in 1:length(a$lon)){
    d <- pointDistance(cbind(x[i,'lon'], x[i,'lat']), 
                       cbind(y$lon, y$lat), lonlat=TRUE)
    my_vector <- rbind(my_vector, d)
    }
    my_vector
 }
> dist(a,b)
     [,1]     [,2]    [,3]    [,4]
d 5239684 10352713 2039490 7401111
d 4787647 10797991 1482960 6785859
d 5571477 12245144 4899364 1666956
d 3909092 12467783 2398381 3534050

我认为rbind在这种情况下,这是一个更好的“结合剂”c()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

追加两个或更多数据集时如何添加数据集标识符(如id列)?

来自分类Dev

在Firebase中找到某个数据集的标识符

来自分类Dev

两个数据集之间的重叠

来自分类Dev

普林斯顿Wordnet数据库-两个不同的同义词集标识符?

来自分类Dev

计算两个数据集(最近邻居)的两点之间的距离

来自分类Dev

ssrs 2008r2在两个数据集之间进行计算

来自分类Dev

Stata:追加两个数据集,保留值标签

来自分类Dev

通过合并ID和日期范围在R中没有唯一标识符的两个数据框来创建事件

来自分类Dev

R:计算具有相同标识符的数据帧中元素之间的偏移差

来自分类Dev

计算两个数据集的置信区间

来自分类Dev

两个数据集或数组之间的相似性

来自分类Dev

两个数据集之间的T.test-逐行

来自分类Dev

查找两个数据集之间的交集

来自分类Dev

在matplotlib中保持两个数据集之间的差距

来自分类Dev

查找两个数据集之间的偏移/相位

来自分类Dev

通过合并两列数据来计算有多少个唯一标识符?

来自分类Dev

合并两个数据框时保留索引

来自分类Dev

使用两个cpp文件时使用未声明的标识符

来自分类Dev

当Key包含两个部分标识符时,获取对象的长度

来自分类Dev

使用两个不同的集合视图时重用标识符

来自分类Dev

SQL,使用两个标识符查找文本

来自分类Dev

加入两个数据集时捕获到NullPointerException

来自分类Dev

这两个VLC编解码器标识符之间的区别在哪里?

来自分类Dev

使用 tm 函数时保留唯一标识符(例如,记录 ID) - 不适用于大量数据?

来自分类Dev

当有两个i标识符和一个t时间时,填充面板

来自分类Dev

当有两个i标识符和一个t时间时,填充面板

来自分类Dev

r 通过 ddply 从具有两个标识符的数据框中删除异常值

来自分类Dev

在VBScript中使用AND运算符在两个数字之间计算出什么?

来自分类Dev

Python-计算两个数据框的两列之间相等的元素数

Related 相关文章

  1. 1

    追加两个或更多数据集时如何添加数据集标识符(如id列)?

  2. 2

    在Firebase中找到某个数据集的标识符

  3. 3

    两个数据集之间的重叠

  4. 4

    普林斯顿Wordnet数据库-两个不同的同义词集标识符?

  5. 5

    计算两个数据集(最近邻居)的两点之间的距离

  6. 6

    ssrs 2008r2在两个数据集之间进行计算

  7. 7

    Stata:追加两个数据集,保留值标签

  8. 8

    通过合并ID和日期范围在R中没有唯一标识符的两个数据框来创建事件

  9. 9

    R:计算具有相同标识符的数据帧中元素之间的偏移差

  10. 10

    计算两个数据集的置信区间

  11. 11

    两个数据集或数组之间的相似性

  12. 12

    两个数据集之间的T.test-逐行

  13. 13

    查找两个数据集之间的交集

  14. 14

    在matplotlib中保持两个数据集之间的差距

  15. 15

    查找两个数据集之间的偏移/相位

  16. 16

    通过合并两列数据来计算有多少个唯一标识符?

  17. 17

    合并两个数据框时保留索引

  18. 18

    使用两个cpp文件时使用未声明的标识符

  19. 19

    当Key包含两个部分标识符时,获取对象的长度

  20. 20

    使用两个不同的集合视图时重用标识符

  21. 21

    SQL,使用两个标识符查找文本

  22. 22

    加入两个数据集时捕获到NullPointerException

  23. 23

    这两个VLC编解码器标识符之间的区别在哪里?

  24. 24

    使用 tm 函数时保留唯一标识符(例如,记录 ID) - 不适用于大量数据?

  25. 25

    当有两个i标识符和一个t时间时,填充面板

  26. 26

    当有两个i标识符和一个t时间时,填充面板

  27. 27

    r 通过 ddply 从具有两个标识符的数据框中删除异常值

  28. 28

    在VBScript中使用AND运算符在两个数字之间计算出什么?

  29. 29

    Python-计算两个数据框的两列之间相等的元素数

热门标签

归档