0

我有以下矩阵:

mymatrix <- matrix(1:16, nrow = 4, ncol = 4, dimnames = list(letters[1:4], 1:4))

我想反转某些特定行的行名称顺序(不更改矩阵单元格值),例如行 b 和行 c。我怎么能管理它?实际上类似于重命名这些行,但我必须对矩阵中不同位置的许多行进行重命名,我想一步完成。

非常感谢您!

4

1 回答 1

0

将要反转的行放在列表中,然后循环执行:

mymatrix <- matrix(1:12, nrow = 4, ncol = 4, dimnames  =list(letters[1:4], 1:4))

to_reverse = list(c("b", "c"), c("a", "d"))
for (i in seq_along(to_reverse)) {
  ind = row.names(mymatrix) %in% to_reverse[[i]]
  row.names(mymatrix)[ind] = rev(row.names(mymatrix)[ind])
}
mymatrix
#   1 2  3 4
# d 1 5  9 1
# c 2 6 10 2
# b 3 7 11 3
# a 4 8 12 4
于 2018-04-02T03:37:26.857 回答