我有以下矩阵:
mymatrix< - matrix(1:16,nrow = 4,ncol = 4,dimnames = list(字母[1:4],1:4))
我想颠倒某些特定行的行名称顺序(不改变矩阵单元格值),例如行b和行c。我怎么能管理它?实际上类似于重命名这些行,但是我必须为在矩阵中不同位置分组的许多行执行此操作,并且我希望只需一步即可完成。
非常感谢你!
答案 0 :(得分: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