Rで解析:行列に関するコマンド紹介。NO.2

Rの解析に役に立つ記事
スポンサーリンク

matrix classに関する3つのコマンドの紹介です。行列に関するコマンド紹介2回目です。

Rで解析:なんとなく、列行に関するコマンド紹介
https://www.karada-good.net/analyticsr/r-294/

実行コマンドはR version 4.2.2で確認しています。

スポンサーリンク

実行コマンド

詳細はコメント、コマンドのヘルプを確認してください。

#1から100まで10行,10列の配列を作成
#行順で作成する場合はbyrowオプションをTRUE
TestMtx <- matrix(1:100, nrow = 10, ncol = 10)
TestMtx
   [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]    1   11   21   31   41   51   61   71   81    91
[2,]    2   12   22   32   42   52   62   72   82    92
[3,]    3   13   23   33   43   53   63   73   83    93
[4,]    4   14   24   34   44   54   64   74   84    94
[5,]    5   15   25   35   45   55   65   75   85    95
[6,]    6   16   26   36   46   56   66   76   86    96
[7,]    7   17   27   37   47   57   67   77   87    97
[8,]    8   18   28   38   48   58   68   78   88    98
[9,]    9   19   29   39   49   59   69   79   89    99
[10,]   10   20   30   40   50   60   70   80   90   100

#指定した値を指定した値で入れ替える:replaceコマンド
#例えば偶数をNAに入れ替える
RepNA <- replace(TestMtx, TestMtx %% 2 == 0, NA)
RepNA
   [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]    1   11   21   31   41   51   61   71   81    91
[2,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA
[3,]    3   13   23   33   43   53   63   73   83    93
[4,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA
[5,]    5   15   25   35   45   55   65   75   85    95
[6,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA
[7,]    7   17   27   37   47   57   67   77   87    97
[8,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA
[9,]    9   19   29   39   49   59   69   79   89    99
[10,]   NA   NA   NA   NA   NA   NA   NA   NA   NA    NA

#NAを除いて表示:complete.casesコマンド
RepNA[complete.cases(RepNA),]
   [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
[1,]    1   11   21   31   41   51   61   71   81    91
[2,]    3   13   23   33   43   53   63   73   83    93
[3,]    5   15   25   35   45   55   65   75   85    95
[4,]    7   17   27   37   47   57   67   77   87    97
[5,]    9   19   29   39   49   59   69   79   89    99

#行列を入れ替え:tコマンド
#data.frameなどにも適応可能です
t(TestMtx)
   [,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

少しでも、あなたの解析が楽になりますように!!

タイトルとURLをコピーしました