我有以下矩阵:
mymatrix <- matrix(1:16, nrow = 4, ncol = 4, dimnames = list(letters[1:4], 1:4))
我想反转某些特定行的行名称顺序(不更改矩阵单元格值),例如行 b 和行 c。我怎么能管理它?实际上类似于重命名这些行,但我必须对矩阵中不同位置的许多行进行重命名,我想一步完成。
非常感谢您!
将要反转的行放在列表中,然后循环执行:
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