本文へスキップ
からだにいいもの

Rのトピックスを中心に『まだ、まだ、知らない、役に立つ情報?』を発信します。

Rでコマンド:matrix classで思いつくコマンド

matrix classで思いつくコマンドの紹介です。ただそれだけです。

実行コマンドは実行コマンドはwindows 11のR version 4.1.3で確認しています。

実行コマンド

詳細はコメント、各パッケージのヘルプを確認してください。

#matrixの作成:matrixコマンド
TestMatrix <- matrix(1:100, nrow = 10, ncol = 10)

#matirix classであるか:is.matrixコマンド
is.matrix(TestMatrix)
[1] TRUE

#データが0のmatrixを作成:mat.or.vecコマンド
mat.or.vec(10, 10)
      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]     0    0    0    0    0    0    0    0    0     0
[2,]     0    0    0    0    0    0    0    0    0     0
[3,]     0    0    0    0    0    0    0    0    0     0
[4,]     0    0    0    0    0    0    0    0    0     0
[5,]     0    0    0    0    0    0    0    0    0     0
[6,]     0    0    0    0    0    0    0    0    0     0
[7,]     0    0    0    0    0    0    0    0    0     0
[9,]     0    0    0    0    0    0    0    0    0     0
[10,]    0    0    0    0    0    0    0    0    0     0

#行列番号でmatrixを作成:col,rowコマンド
col(TestMatrix)
      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]     1    2    3    4    5    6    7    8    9    10
[2,]     1    2    3    4    5    6    7    8    9    10
[3,]     1    2    3    4    5    6    7    8    9    10
[4,]     1    2    3    4    5    6    7    8    9    10
[5,]     1    2    3    4    5    6    7    8    9    10
[6,]     1    2    3    4    5    6    7    8    9    10
[7,]     1    2    3    4    5    6    7    8    9    10
[8,]     1    2    3    4    5    6    7    8    9    10
[9,]     1    2    3    4    5    6    7    8    9    10
[10,]    1    2    3    4    5    6    7    8    9    10

#matrixに行列名を付与:structureコマンド
structure(TestMatrix,
          dimnames = list(paste0("R", 1:10),
                          paste0("C", 1:10)))
    C1 C2 C3 C4 C5 C6 C7 C8 C9 C10
R1   1 11 21 31 41 51 61 71 81  91
R2   2 12 22 32 42 52 62 72 82  92
R3   3 13 23 33 43 53 63 73 83  93
R4   4 14 24 34 44 54 64 74 84  94
R5   5 15 25 35 45 55 65 75 85  95
R6   6 16 26 36 46 56 66 76 86  96
R7   7 17 27 37 47 57 67 77 87  97
R8   8 18 28 38 48 58 68 78 88  98
R9   9 19 29 39 49 59 69 79 89  99
R10 10 20 30 40 50 60 70 80 90 100

#データの要約:summaryコマンド
summary(TestMatrix[, 1:3])
           V1              V2              V3       
Min.   : 1.00   Min.   :11.00   Min.   :21.00  
1st Qu.: 3.25   1st Qu.:13.25   1st Qu.:23.25  
Median : 5.50   Median :15.50   Median :25.50  
Mean   : 5.50   Mean   :15.50   Mean   :25.50  
3rd Qu.: 7.75   3rd Qu.:17.75   3rd Qu.:27.75  
Max.   :10.00   Max.   :20.00   Max.   :30.00 

#行列数を取得:dimコマンド
dim(TestMatrix)
[1] 10 10

#行列を入れ替える:tコマンド
t(TestMatrix)
      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]     1    2    3    4    5    6    7    8    9    10
[2,]    11   12   13   14   15   16   17   18   19    20
[3,]    21   22   23   24   25   26   27   28   29    30
[4,]    31   32   33   34   35   36   37   38   39    40
[5,]    41   42   43   44   45   46   47   48   49    50
[6,]    51   52   53   54   55   56   57   58   59    60
[7,]    61   62   63   64   65   66   67   68   69    70
[8,]    71   72   73   74   75   76   77   78   79    80
[9,]    81   82   83   84   85   86   87   88   89    90
[10,]   91   92   93   94   95   96   97   98   99   100

#データを入れ替える
TestMatrix[5, ] <- TestMatrix[1, ]
TestMatrix[, 4] <- TestMatrix[, 9]
#確認
TestMatrix
      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]     1   11   21   81   41   51   61   71   81    91
[2,]     2   12   22   82   42   52   62   72   82    92
[3,]     3   13   23   83   43   53   63   73   83    93
[4,]     4   14   24   84   44   54   64   74   84    94
[5,]     1   11   21   81   41   51   61   71   81    91
[6,]     6   16   26   86   46   56   66   76   86    96
[7,]     7   17   27   87   47   57   67   77   87    97
[8,]     8   18   28   88   48   58   68   78   88    98
[9,]     9   19   29   89   49   59   69   79   89    99
[10,]   10   20   30   90   50   60   70   80   90   100

#重複データを一意化:uniqueコマンド
#向きの設定:MARGINオプション;1:行,2:列
unique(TestMatrix, MARGIN = 2)
      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
[1,]     1   11   21   81   41   51   61   71   91
[2,]     2   12   22   82   42   52   62   72   92
[3,]     3   13   23   83   43   53   63   73   93
[4,]     4   14   24   84   44   54   64   74   94
[5,]     1   11   21   81   41   51   61   71   91
[6,]     6   16   26   86   46   56   66   76   96
[7,]     7   17   27   87   47   57   67   77   97
[8,]     8   18   28   88   48   58   68   78   98
[9,]     9   19   29   89   49   59   69   79   99
[10,]   10   20   30   90   50   60   70   80  100

#データに周辺和を加える:addmarginsコマンド
addmargins(TestMatrix)
                                            Sum
#     1  11  21  81  41  51  61  71  81  91  510
#     2  12  22  82  42  52  62  72  82  92  520
#     3  13  23  83  43  53  63  73  83  93  530
#     4  14  24  84  44  54  64  74  84  94  540
#     1  11  21  81  41  51  61  71  81  91  510
#     6  16  26  86  46  56  66  76  86  96  560
#     7  17  27  87  47  57  67  77  87  97  570
#     8  18  28  88  48  58  68  78  88  98  580
#     9  19  29  89  49  59  69  79  89  99  590
#    10  20  30  90  50  60  70  80  90 100  600
#Sum 51 151 251 851 451 551 651 751 851 951 5510

#一部を表示:head,tailコマンド
head(TestMatrix, 3)
     [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]    1   11   21   81   41   51   61   71   81    91
[2,]    2   12   22   82   42   52   62   72   82    92
[3,]    3   13   23   83   43   53   63   73   83    93

少しでも、あなたのウェブや実験の解析が楽になりますように!!

スポンサーリンク
Prices and shipping availability may change. Please refer to the product page at time of purchase.
Content displayed on this site is provided by Amazon and may be updated or removed.
Amazon Associate, karada-good earns income through qualifying sales.