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
少しでも、あなたの解析が楽になりますように!!