手元のデータをすばやく、見やすくまとめたい、そんなときにこのsummarytoolsパッケージが有効かもしれない。

Rが提供する要約関数は複雑なものが多く、初心者には優しくない。summarytoolsパッケージが提供する関数の数は少ないが、データフレームの概要を把握するために必要な機能を備えている。

下記でもいくつか試しているが、表示のためのオプションが充実していて印象が良い。GitHubのREADMEに書いてある内容を検証してみた。

library(summarytools)
## 
## Attaching package: 'summarytools'
## 
## The following object is masked from 'package:dplyr':
## 
##     desc

dfSummary: データフレームを要約する

dfSummary(iris)
num variable.name properties factor.levels.or.stats frequencies n.valid
1 Sepal.Length type:double class:numeric avg (sd) = 5.84 (0.83) min < med < max = 4.3 < 5.8 < 7.9 IQR (CV) = 1.3 (0.14) 35 distinct values 150 (100.0%)
2 Sepal.Width type:double class:numeric avg (sd) = 3.06 (0.44) min < med < max = 2 < 3 < 4.4 IQR (CV) = 0.5 (0.14) 23 distinct values 150 (100.0%)
3 Petal.Length type:double class:numeric avg (sd) = 3.76 (1.77) min < med < max = 1 < 4.35 < 6.9 IQR (CV) = 3.5 (0.47) 43 distinct values 150 (100.0%)
4 Petal.Width type:double class:numeric avg (sd) = 1.2 (0.76) min < med < max = 0.1 < 1.3 < 2.5 IQR (CV) = 1.5 (0.64) 22 distinct values 150 (100.0%)
5 Species type:integer class:factor 1. setosa 2. versicolor 3. virginica 1: 50 (33.3%) 2: 50 (33.3%) 3: 50 (33.3%) 150 (100.0%)

Total number of observations: 150

RStudioの場合、Viewパネルに表示することもできる

dfSummary(iris) %>% View

頻度を確認する: freq

freq(diamonds$cut, style = "rmarkdown", plain.ascii = FALSE, missing = "---")
## 
## Variable name:  diamonds$cut

Variable name: diamonds$cut

Frequencies

  N %Valid %Cum.Valid %Total %Cum.Total
Fair 1610 2.98 2.98 2.98 2.98
Good 4906 9.1 12.08 9.1 12.08
Very Good 12082 22.4 34.48 22.4 34.48
Premium 13791 25.57 60.05 25.57 60.05
Ideal 21551 39.95 100 39.95 100
0 NA NA 0 100
Total 53940 100 100 100 100

代表値を知る: desc

変数の平均値や標準偏差、最大値・最小値をまとめて表にしてくれる。

desc(cars, transpose = TRUE) # transpose引数は、表の向きを横向きにしてくれる
## 
## Descriptive Statistics

Descriptive Statistics

Mean Std.Dev Min Max Median MAD IQR CV Skewness SE.Skewness Kurtosis
speed 15.4 5.29 4 25 15 5.93 7 2.91 -0.11 0.34 -0.67
dist 42.98 25.77 2 120 36 23.72 30 1.67 0.76 0.34 0.12

Observations

Valid Total
speed 50 (100%) 0 (0%) 50
dist 50 (100%) 0 (0%) 50

リンク