如何将重复的行名和列名更改为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 高考前放松祝福语简短