データの要約は意外と面倒くさい作業です。そこで、手軽にデータの要約が可能な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) #グループ名の追加
#Groupの要約
freq(Data[, 1])
Frequencies
Data$Group
Type: Character
Freq % Valid % Valid Cum. % Total % Total Cum.
------------ ------ --------- -------------- --------- --------------
Group1 5 50.00 50.00 50.00 50.00
Group2 4 40.00 90.00 40.00 90.00
Group3 1 10.00 100.00 10.00 100.00
<NA> 0 0.00 100.00
Total 10 100.00 100.00 100.00 100.00
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%)
少しでも、あなたの解析が楽になりますように!!