如何将重复的行名和列名更改为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 BC 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.1C 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 HotAsian −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.2Asian −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 V2case1 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.1case1 36 46 26 21
case2 42 24 34 50
case2.1 37 33 43 27
case1.1 45 30 49 39
以上是 如何将重复的行名和列名更改为R中矩阵的序列? 的全部内容, 来源链接: utcz.com/z/314260.html