如何将重复的行名和列名更改为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 婚前女儿生日祝福语简短