R重命名重复col和rownames(subindexing)

JAB*_*ena 9 r matrix

如果一个善良的灵魂能告诉我如何在R中做到这一点,我将非常感激:

给定具有重复列和行的平方矩阵,例如

       1     1     2     2     2     2     3
1  0.000 0.000 0.048 0.048 0.048 0.048 0.059
1  0.000 0.000 0.048 0.048 0.048 0.048 0.059
2  0.048 0.048 0.000 0.000 0.000 0.000 0.059
2  0.048 0.048 0.000 0.000 0.000 0.000 0.059
2  0.048 0.048 0.000 0.000 0.000 0.000 0.059
2  0.048 0.048 0.000 0.000 0.000 0.000 0.059
3  0.059 0.059 0.059 0.059 0.059 0.059 0.000
Run Code Online (Sandbox Code Playgroud)

在相同的col和row名称指定重复项的情况下,我需要具有唯一的col和row名称,同时跟踪原始和重复的cols/rows.就是这样的

        1    1a     2    2a    2b    2c     3
1   0.000 0.000 0.048 0.048 0.048 0.048 0.059
1a  0.000 0.000 0.048 0.048 0.048 0.048 0.059
2   0.048 0.048 0.000 0.000 0.000 0.000 0.059
2a  0.048 0.048 0.000 0.000 0.000 0.000 0.059
2b  0.048 0.048 0.000 0.000 0.000 0.000 0.059
2c  0.048 0.048 0.000 0.000 0.000 0.000 0.059
3   0.059 0.059 0.059 0.059 0.059 0.059 0.000
Run Code Online (Sandbox Code Playgroud)

提前致谢

sgi*_*ibb 20

你可以使用?make.unique?make.names:

v <- as.character(c(1, 1, 2, 2, 2, 2, 3))
make.unique(v)
# [1] "1"   "1.1" "2"   "2.1" "2.2" "2.3" "3"
Run Code Online (Sandbox Code Playgroud)

(你必须将它与rownames和结合起来colnames.)