将矢量的等间隔转换为矩阵行

时间:2015-03-04 03:20:29

标签: r matrix vector type-conversion diagonal

我导入的表格包含大小为nxn的出发地 - 目的地成本矩阵的旅行时间。因此,当起点和终点相同时,行程时间等于零。

例如,25个来源和25个目的地(625个元素)的OD成本矩阵将具有沿对角线向下运行的零值。在向量中,值0出现在第0个元素,第26个元素,第51个元素等

我已经将传播时间作为矢量读取了,我想将矢量重新整形为矩阵,其中对角线上的每个元素的值都为零。有没有人对如何做到这一点有任何想法?

代码:

### READ and PREPARE DATA ###
# Read OD cost matrix (use data.table for performance)
od_table <- read.table('DMatrix.txt', sep=',', header=TRUE, na.strings="NA", stringsAsFactors=FALSE)

v <- t(od_table$Total_TravelTime)
n <- sqrt(length(v))

D <- matrix(v, nrow=25)

结果矩阵仅沿第一行具有零值: enter image description here

0 个答案:

没有答案