如何将重复的行名和列名更改为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 幼儿祝福语大全简短贺卡