r - 编写一个函数,根据数据帧的列值在矩阵中查找元素

标签 r matrix dplyr distance

我有一个数据框,其起点和终点名称如下(我将简化以使其更清晰):

Origin Dest Time 
     A    B  Mon
     B    C  Wed
     C    B  Fri

我还有一个距离矩阵,用于查找位置 ABC 之间的距离。

   A  B  C
A  0  8 11
B  8  0  6
C 11  6  0

我如何从距离矩阵中提取距离并将其输入到数据框每一行的单独列(例如df$Distance)中?

最佳答案

借助矩阵索引的力量(使用 Roman 的数据):

mt[as.matrix(xy[c("Origin","Dest")])]
#[1] 8 6 6

这是通过将OriginDest与距离矩阵的rownamescolnames相匹配来实现的。

关于r - 编写一个函数,根据数据帧的列值在矩阵中查找元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49885368/

相关文章:

r - 如何在 dplyr::across() 中使用 n() 按组计算行数?

r - 库错误(ggplot2): There is no package called 'ggplot2'

r - 如何将逻辑变量转换为 Rattle 中的因子

r - gls 模型的 `emmeans` 没有 't run inside ` map `

使用 MAT2CELL 的 MATLAB

android - 如何结合 OpenGL 使用 onSensorChanged 传感器数据

R无法加载dplyr

r - 在 count=0 的情况下,如何使用 geom_bar() 去除 ggplot2 图的更宽条

r - 使用 dplyr 以数值变量为条件改变因子变量

matrix - CUDA中共享内存的非方矩阵转置