如果一个善良的灵魂能告诉我如何在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
其中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
提前致谢
答案 0 :(得分:17)
您可以使用?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"
(您必须将其与rownames
和colnames
合并。)