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


投稿日: Rの解析に役に立つ記事

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

実行コマンドはwindows 7およびOS X 10.11.2のR version 3.2.3で確認しています。


実行コマンド

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

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

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

#データが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    931

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

スポンサードリンク

おすすめコンテンツ


スポンサードリンク