Rとウェブ解析:データの要約が簡単!「summarytools」パッケージ


データの要約は意外と面倒くさい作業です。そこで、手軽にデータの要約が可能なsummarytoolsをご紹介します。


「summarytool」パッケージの導入

下記コードを実行することで導入することができます。お好きな方をどうぞ。


#githubから
#devtoolsがインストールされていなければ#を取って下記のコマンドを実行
#install.packages("devtools")
library(devtools)
install_github("dcomtois/summarytools")

#CRNAからインストール
install.packages("summarytools", type = "source")


コマンド

summarytoolsは行やグループ、データフレーム全体の要約ができます。要約のデータは変数に格納してエクセル等に出力可能です。
データのエクセル化はこちらの記事から

#ライブラリの読み込み
library(summarytools)

#データ例を作成
Data <- matrix(rep(c(4, 7, 8, NA, 11, 15), 100), 10, 10)
colnames(Data) <- paste("Col", 1:10, sep = "") #行名の付与
Data <- data.frame(Group = sample(c("Group1", "Group2", "Group3"), 10, replace = TRUE, prob = c(1, 1, 1)), Data) #グループ名の追加

#データの要約を表示、データは変数に格納してエクセル等に出力可能です。
freq(Data[, 1]) #Groupの要約

Variable name:  Data[, 1]

Frequencies

               N   %Valid   %Cum.Valid   %Total   %Cum.Total
------------ --- -------- ------------ -------- ------------
      Group1   4       40           40       40           40
      Group2   3       30           70       30           70
      Group3   3       30          100       30          100
        <NA>   0       NA           NA        0          100
       Total  10      100          100      100          100

desc(Data) #行の要約

Descriptive Statistics

                    Col1   Col2   Col3   Col4   Col5   Col6   Col7   Col8   Col9   Col10
----------------- ------ ------ ------ ------ ------ ------ ------ ------ ------ -------
             Mean      8   9.11   9.88      8   9.11   9.88      8   9.11   9.88       8
          Std.Dev   3.63   4.17   3.87   3.63   4.17   3.87   3.63   4.17   3.87    3.63
              Min      4      4      4      4      4      4      4      4      4       4
              Max     15     15     15     15     15     15     15     15     15      15
           Median    7.5      8    9.5    7.5      8    9.5    7.5      8    9.5     7.5
              MAD   2.97   4.45   2.97   2.97   4.45   2.97   2.97   4.45   2.97    2.97
              IQR    2.5      4   4.25    2.5      4   4.25    2.5      4   4.25     2.5
               CV   2.21   2.19   2.55   2.21   2.19   2.55   2.21   2.19   2.55    2.21
         Skewness   0.63   0.21   0.07   0.63   0.21   0.07   0.63   0.21   0.07    0.63
      SE.Skewness   0.75   0.72   0.75   0.75   0.72   0.75   0.75   0.72   0.75    0.75
         Kurtosis  -0.83  -1.59  -1.51  -0.83  -1.59  -1.51  -0.83  -1.59  -1.51   -0.83


dfSummary(Data) #データ全体の要約、結果は抜粋です。
--------------------------------------------------------------------------------------------
num   variable.name   properties    factor.levels.or.stats         frequencies   n.valid    
----- --------------- ------------- ------------------------------ ------------- -----------
1     Group           type:integer  1. Group1                      1: 4 (40%)    10 (100.0%)
                      class:factor  2. Group2                      2: 3 (30%)               
                                    3. Group3                      3: 3 (30%)               

2     Col1            type:double   avg (sd) = 8 (3.63)            4: 2 (25%)    8 (80.0%)  
                      class:numeric min < med < max = 4 < 7.5 < 15 7: 2 (25%)               
                                    IQR (CV) = 2.5 (0.45)          8: 2 (25%)               
                                                                   11: 1 (12.5%)            
                                                                   15: 1 (12.5%)            

3     Col2            type:double   avg (sd) = 9.11 (4.17)         4: 2 (22.2%)  9 (90.0%)  
                      class:numeric min < med < max = 4 < 8 < 15   7: 2 (22.2%)             
                                    IQR (CV) = 4 (0.46)            8: 1 (11.1%)             
                                                                   11: 2 (22.2%)            
                                                                   15: 2 (22.2%)            

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

スポンサードリンク

おすすめコンテンツ


スポンサードリンク