【发布时间】:2021-12-29 14:45:33
【问题描述】:
假设我有一个矩阵
mat <- matrix(1, nrow = 5, ncol = 5)
[,1] [,2] [,3] [,4] [,5]
[1,] 1 1 1 1 1
[2,] 1 1 1 1 1
[3,] 1 1 1 1 1
[4,] 1 1 1 1 1
[5,] 1 1 1 1 1
是一个图的邻接矩阵。我需要添加一个带有顶点名称的属性names,因此,在本例中为c('1', '2', '3', '4', '5')。如果我只是为这些顶点命名,我会选择
rownames(mat) <- c('1', '2', '3', '4', '5')
colnames(mat) <- c('1', '2', '3', '4', '5')
但这不会改变names 属性。
写作
names(mat) <- c('1', '2', '3', '4', '5')
明显改变了前 5 个元素的“名称”
[1] "1" "2" "3" "4" "5" NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[21] NA NA NA NA NA
我该如何处理?
【问题讨论】:
-
namesformattrix是不同的。与dimnames相比。因为matrix只是一个带有dim属性的向量。因此,如果要命名元素,则需要为length(mat)提供名称