如何将重复的行名和列名更改为R中矩阵的序列?
要将重复的行名和列名更改为序列,我们首先需要在向量中读取这些名称,然后使用make.unique功能将它们设置为行名和列名。例如,如果矩阵的行名定义为A,B,A,B,A,则可以将其转换为A,B,A.1,B.1,A.2。
例1
M1<−matrix(1:25,ncol=5) M1输出结果
[,1] [,2] [,3] [,4] [,5] [1,] 1 6 11 16 21 [2,] 2 7 12 17 22 [3,] 3 8 13 18 23 [4,] 4 9 14 19 24 [5,] 5 10 15 20 25
示例
colnames(M1)<−c("A","B","A","A","B")
rownames(M1)<−c("C","D","D","C","C")
M1输出结果A B A A B C 1 6 11 16 21 D 2 7 12 17 22 D 3 8 13 18 23 C 4 9 14 19 24 C 5 10 15 20 25
示例
C1<−c("A","B","A","A","B")
colnames(M1)<−make.unique(C1)
R1<−c("C","D","D","C","C")
rownames(M1)<−make.unique(R1)
M1输出结果A B A.1 A.2 B.1 C 1 6 11 16 21 D 2 7 12 17 22 D.1 3 8 13 18 23 C.1 4 9 14 19 24 C.2 5 10 15 20 25
例2
M2<−matrix(rnorm(25),nrow=5) M2输出结果
[,1] [,2] [,3] [,4] [,5] [1,] −0.9603079 2.7738930 −1.68887845 −0.3516074 2.237315508 [2,] −0.3346606 −1.2140159 −0.08791009 −0.3596462 −0.009851671 [3,] 0.7399818 −2.1791770 −1.70416955 0.2715390 −0.766143519 [4,] 1.1195890 −1.7790965 0.09878024 −0.4761445 1.859189587 [5,] −1.3238430 0.2936939 −2.15993049 −0.9182923 −0.647121554
示例
colnames(M2)<−c("Hot","Cold","Cold","Hot","Hot")
rownames(M2)<−c("Asian","Americas","Americas","Asian","Americas")
M2输出结果Hot Cold Cold Hot Hot Asian −0.9603079 2.7738930 −1.68887845 −0.3516074 2.237315508 Americas −0.3346606 −1.2140159 −0.08791009 −0.3596462 −0.009851671 Americas 0.7399818 −2.1791770 −1.70416955 0.2715390 −0.766143519 Asian 1.1195890 −1.7790965 0.09878024 −0.4761445 1.859189587 Americas −1.3238430 0.2936939 −2.15993049 −0.9182923 −0.647121554
示例
C2<−c("Hot","Cold","Cold","Hot","Hot")
colnames(M2)<−make.unique(C2)
R2<−c("Asian","Americas","Americas","Asian","Americas")
rownames(M2)<−make.unique(R2)
M2输出结果Hot Cold Cold.1 Hot.1 Hot.2 Asian −0.9603079 2.7738930 −1.68887845 −0.3516074 2.237315508 Americas −0.3346606 −1.2140159 −0.08791009 −0.3596462 −0.009851671 Americas.1 0.7399818 −2.1791770 −1.70416955 0.2715390 −0.766143519 Asian.1 1.1195890 −1.7790965 0.09878024 −0.4761445 1.859189587 Americas.2 −1.3238430 0.2936939 −2.15993049 −0.9182923 −0.647121554
范例3
M3<−matrix(sample(c(21:50),16),nrow=4) M3输出结果
[,1] [,2] [,3] [,4] [1,] 36 46 26 21 [2,] 42 24 34 50 [3,] 37 33 43 27 [4,] 45 30 49 39
示例
colnames(M3)<−c("V1","V1","V2","V2")
rownames(M3)<−c("case1","case2","case2","case1")
M3输出结果V1 V1 V2 V2 case1 36 46 26 21 case2 42 24 34 50 case2 37 33 43 27 case1 45 30 49 39
示例
C3<−c("V1","V1","V2","V2")
colnames(M3)<−make.unique(C3)
R3<−c("case1","case2","case2","case1")
rownames(M3)<−make.unique(R3)
M3输出结果V1 V1.1 V2 V2.1 case1 36 46 26 21 case2 42 24 34 50 case2.1 37 33 43 27 case1.1 45 30 49 39
热门推荐
10 小红书平安祝福语简短
11 生日祝福语大全女孩简短
12 收生日红包祝福语 简短
13 领证幽默祝福语简短
14 法考面试祝福语简短
15 老哥出门祝福语简短语
16 送灯祝福语简短独特
17 幼儿狗年祝福语大全简短
18 好听的元旦简短祝福语