如果R语言中方阵的行名和列名相同,如何在单行代码中定义它们。


如果我们有一个方阵,或者我们想要创建一个方阵,并且该矩阵的行名和列名相同,那么我们可以在一行代码中定义这些名称。

例如,如果我们有一个名为 M 的矩阵,它有 10 行 10 列,并且前十个字母作为行名和列名,那么我们可以将列名定义为 colnames(M)<-rownames(M)<-LETTERS[1:10]。

示例 1

考虑下面给出的矩阵 -

M1<-matrix(rpois(25,5),ncol=5)
M1

创建了以下数据框

    [,1] [,2] [,3] [,4] [,5]
[1,]   3    5    7    6    6
[2,]   8    6    6    6    4
[3,]   2    6    2    8    7
[4,]   1    3    5    9    4
[5,]   3    6    6    7    3

要在上面创建的数据框上定义 M1 的列名和行名,请将以下代码添加到上述代码段中 -

M1<-matrix(rpois(25,5),ncol=5)
colnames(M1)<-rownames(M1)<-LETTERS[1:5]
M1

输出

如果您将上面给出的所有代码段作为一个程序执行,它将生成以下输出 -

  A B C D E
A 3 5 7 6 6
B 8 6 6 6 4
C 2 6 2 8 7
D 1 3 5 9 4
E 3 6 6 7 3

示例 2

考虑下面给出的矩阵 -

M2<-matrix(rpois(25,50),ncol=5)
M2

创建了以下数据框

   [,1] [,2] [,3] [,4] [,5]
[1,] 54   40   53   42   51
[2,] 59   44   54   67   55
[3,] 51   42   54   47   55
[4,] 68   38   37   47   39
[5,] 35   52   53   58   51

要在上面创建的数据框上定义 M2 的列名和行名,请将以下代码添加到上述代码段中 -

M2<-matrix(rpois(25,50),ncol=5)
colnames(M2)<-rownames(M2)<-c("Asia","Americas","Africa","Europe","Oceania")
M2

输出

如果您将上面给出的所有代码段作为一个程序执行,它将生成以下输出 -

       Asia Americas Africa Europe Oceania
Asia     54       40     53     42      51
Americas 59       44     54     67      55
Africa   51       42     54     47      55
Europe   68       38     37     47      39
Oceania  35       52     53     58      51

示例 3

考虑以下矩阵

M3<-matrix(round(rnorm(25),2),ncol=5)
M3

创建了以下数据框

       [,1] [,2]  [,3]  [,4]  [,5]
[1,]  0.68 -0.35  0.76 -0.22  0.36
[2,] -0.42 -0.28 -0.63  0.09  1.22
[3,]  0.05 -0.91  1.21 -0.17  0.86
[4,]  0.99 -0.71 -0.20 -0.58 -0.02
[5,] -0.21 -1.43  1.45 -0.26 -1.51

要在上面创建的数据框上定义 M3 的列名和行名,请将以下代码添加到上述代码段中 -

M3<-matrix(round(rnorm(25),2),ncol=5)
colnames(M3)<-rownames(M3)<-c("Rate1","Rate2","Rate3","Rate4","Rate5")
M3

输出

如果您将上面给出的所有代码段作为一个程序执行,它将生成以下输出 -

      Rate1 Rate2 Rate3 Rate4 Rate5
Rate1  0.68 -0.35  0.76 -0.22  0.36
Rate2 -0.42 -0.28 -0.63  0.09  1.22
Rate3  0.05 -0.91  1.21 -0.17  0.86
Rate4  0.99 -0.71 -0.20 -0.58 -0.02
Rate5 -0.21 -1.43  1.45 -0.26 -1.51

示例 4

考虑下面给出的矩阵 -

M4<-matrix(round(rnorm(25,500,),0),ncol=5)
M4

创建了以下数据框

    [,1] [,2] [,3] [,4] [,5]
[1,] 499  500  499  498  502
[2,] 501  501  501  501  499
[3,] 499  500  501  503  500
[4,] 501  502  500  500  501
[5,] 500  499  500  500  502

要在上面创建的数据框上定义 M4 的列名和行名,请将以下代码添加到上述代码段中 -

colnames(M4)<-rownames(M4)<-c("Score1","Score2","Score3","Score4","Score5")
M4

输出

如果您将上面给出的所有代码段作为一个程序执行,它将生成以下输出 -

       Score1 Score2 Score3 Score4 Score5
Score1    499    500    499    498    502
Score2    501    501    501    501    499
Score3    499    500    501    503    500
Score4    501    502    500    500    501
Score5    500    499    500    500    502

示例 5

考虑下面给出的矩阵 -

M5<-matrix(rpois(25,100),ncol=5)
M5

创建了以下数据框

    [,1] [,2] [,3] [,4] [,5]
[1,]  92 116   107  100   91
[2,] 111  94   110   95   93
[3,]  87  98    91   88  107
[4,] 106  91    98   94  104
[5,]  97  94   108  104  102

要在上面创建的数据框上定义 M5 的列名和行名,请将以下代码添加到上述代码段中 -

M5<-matrix(rpois(25,100),ncol=5)
colnames(M5)<-rownames(M5)<-c("Sour","Salty","Meaty","Sweet","Bitter")
M5

输出

如果您将上面给出的所有代码段作为一个程序执行,它将生成以下输出 -

     Sour Salty Meaty Sweet Bitter
Sour   92   116   107   100     91
Salty 111    94   110    95     93
Meaty  87    98    91    88    107
Sweet 106    91    98    94    104
Bitter 97    94   108   104    102

更新时间: 2021年11月1日

311 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.