【データを要約】R studio解説: dfSummaryパッケージ

こんにちは、すきとほる疫学徒です。

 

R Tipsでは、私自身の備忘録も兼ねて、おすすめのRパッケージを紹介します。

80%くらいは備忘録が目的なので、殴り書きになりますことをお許しください。

  

本ブログは、私が業務上知り得たいかなる情報にも基づかず、一般論もしくは広く公開された情報のみに基づき執筆されています
本ブログは、私個人の責任で執筆され、所属する組織の見解を代表する物ではありません

   

   

dfSummary

医療大規模データベース解析を行う際、データを開いてまずやるべきことは、「さっそく変数を作り、解析に取りかかること!」ではなく、じっくりとデータを眺め、その全体像を把握しようと努めることですね。

 

そんな時に役立つデータの要約のためのパッケージがdfSummary。

 

Rにはデータ要約のパッケージが山ほどあり、シンプルなのは

summary()

table()

などですね。

 

しかしながら、summary()はご覧のように、返ってくる情報がとっても限定されており、あまり役に立ちません。

> summary(iris)
  Sepal.Length    Sepal.Width     Petal.Length    Petal.Width          Species  
 Min.   :4.300   Min.   :2.000   Min.   :1.000   Min.   :0.100   setosa    :50  
 1st Qu.:5.100   1st Qu.:2.800   1st Qu.:1.600   1st Qu.:0.300   versicolor:50  
 Median :5.800   Median :3.000   Median :4.350   Median :1.300   virginica :50  
 Mean   :5.843   Mean   :3.057   Mean   :3.758   Mean   :1.199                  
 3rd Qu.:6.400   3rd Qu.:3.300   3rd Qu.:5.100   3rd Qu.:1.800                  
 Max.   :7.900   Max.   :4.400   Max.   :6.900   Max.   :2.500 

 

 

そんな時はこれ、dfSumamry()。

連続変数のみでなく、カテゴリカル変数も含めた全ての変数に対して、

  1. 変数の型
  2. カテゴリー別の%
  3. 連続値の分布
  4. 欠損の割合

 

などを一括で出してくれます。

 

> dfSummary(iris)
Data Frame Summary  
iris  
Dimensions: 150 x 5  
Duplicates: 1  

-----------------------------------------------------------------------------------------------------------
No   Variable       Stats / Values          Freqs (% of Valid)   Graph                 Valid      Missing  
---- -------------- ----------------------- -------------------- --------------------- ---------- ---------
1    Sepal.Length   Mean (sd) : 5.8 (0.8)   35 distinct values     . . : :             150        0        
     [numeric]      min < med < max:                               : : : :             (100.0%)   (0.0%)   
                    4.3 < 5.8 < 7.9                                : : : : :                               
                    IQR (CV) : 1.3 (0.1)                           : : : : :                               
                                                                 : : : : : : : :                           

2    Sepal.Width    Mean (sd) : 3.1 (0.4)   23 distinct values           :             150        0        
     [numeric]      min < med < max:                                     :             (100.0%)   (0.0%)   
                    2 < 3 < 4.4                                        . :                                 
                    IQR (CV) : 0.5 (0.1)                             : : : :                               
                                                                 . . : : : : : :                           

3    Petal.Length   Mean (sd) : 3.8 (1.8)   43 distinct values   :                     150        0        
     [numeric]      min < med < max:                             :         . :         (100.0%)   (0.0%)   
                    1 < 4.3 < 6.9                                :         : : .                           
                    IQR (CV) : 3.5 (0.5)                         : :       : : : .                         
                                                                 : :   . : : : : : .                       

4    Petal.Width    Mean (sd) : 1.2 (0.8)   22 distinct values   :                     150        0        
     [numeric]      min < med < max:                             :                     (100.0%)   (0.0%)   
                    0.1 < 1.3 < 2.5                              :       . .   :                           
                    IQR (CV) : 1.5 (0.6)                         :       : :   :   .                       
                                                                 : :   : : : . : : :                       

5    Species        1. setosa               50 (33.3%)           IIIIII                150        0        
     [factor]       2. versicolor           50 (33.3%)           IIIIII                (100.0%)   (0.0%)   
                    3. virginica            50 (33.3%)           IIIIII                                    
-----------------------------------------------------------------------------------------------------------

 

 

  

でも、まだちょっと見にくいですよね?

 

そんな時は、

dfSummary(iris) %>% view()

 

というように、view()を組み合わせてあげましょう。

 

すると、こんな感じに見目麗しいグラフが作成されます。

 

 

 

ちなみに、dfSummary()と似たようなパッケージで、Hmiscというものがあります。

こちらのdescribe()関数を使っても、以下のようにdfSummary()と近しい要約データが返ってきます。

 

ただ、こちらはview()と組み合わせることができず、若干見にくいため、個人的にはdfSummary()が好みです。

 

> describe(iris)
iris 

 5  Variables      150  Observations
--------------------------------------------------------------------------------------------------------------------------------------------------------
Sepal.Length 
       n  missing distinct     Info     Mean      Gmd      .05      .10      .25      .50      .75      .90      .95 
     150        0       35    0.998    5.843   0.9462    4.600    4.800    5.100    5.800    6.400    6.900    7.255 

lowest : 4.3 4.4 4.5 4.6 4.7, highest: 7.3 7.4 7.6 7.7 7.9
--------------------------------------------------------------------------------------------------------------------------------------------------------
Sepal.Width 
       n  missing distinct     Info     Mean      Gmd      .05      .10      .25      .50      .75      .90      .95 
     150        0       23    0.992    3.057   0.4872    2.345    2.500    2.800    3.000    3.300    3.610    3.800 

lowest : 2.0 2.2 2.3 2.4 2.5, highest: 3.9 4.0 4.1 4.2 4.4
--------------------------------------------------------------------------------------------------------------------------------------------------------
Petal.Length 
       n  missing distinct     Info     Mean      Gmd      .05      .10      .25      .50      .75      .90      .95 
     150        0       43    0.998    3.758    1.979     1.30     1.40     1.60     4.35     5.10     5.80     6.10 

lowest : 1.0 1.1 1.2 1.3 1.4, highest: 6.3 6.4 6.6 6.7 6.9
--------------------------------------------------------------------------------------------------------------------------------------------------------
Petal.Width 
       n  missing distinct     Info     Mean      Gmd      .05      .10      .25      .50      .75      .90      .95 
     150        0       22     0.99    1.199   0.8676      0.2      0.2      0.3      1.3      1.8      2.2      2.3 

lowest : 0.1 0.2 0.3 0.4 0.5, highest: 2.1 2.2 2.3 2.4 2.5
--------------------------------------------------------------------------------------------------------------------------------------------------------
Species 
       n  missing distinct 
     150        0        3 
                                           
Value          setosa versicolor  virginica
Frequency          50         50         50
Proportion      0.333      0.333      0.333
--------------------------------------------------------------------------------------------------------------------------------------------------------

 

 

  

 

すきとほる疫学徒からのお願い

本ブログは、読者の方が自由に記事の金額を決められるPay What You Want方式を採用しています。

「勉強になった!」、「次も読みたい!」と本ブログに価値を感じてくださった場合は、以下のボタンをクリックし、ご自身が感じた価値に見合うだけの寄付を頂戴できますと幸いです。

もちろん価値を感じなかった方、また学生さんなど金銭的に厳しい状況にある方からのご寄付は不要です。

  

引き続き情報発信していく活力になりますので、ぜひお気持ちに反しない範囲でご寄付をお願い致します!

薬剤疫学、製薬キャリアに関する最新情報はこちらから