データの要約は面倒な作業です。特に、2列に分かれているデータをA(a)のように1列で表現したい時は処理コマンドを工夫しなくてはなりません。
コマンドの工夫が面倒な方へ、データを要約を目的にした「ezsummary」パッケージから、データを1列にA(a)などと表示が可能なezmarkupコマンドをオススメします。
パッケージバージョンは0.1.9。実行コマンドはR version 3.2.2で確認しています。
パッケージのインストール
下記、コマンドを実行してください。
#パッケージのインストール
install.packages("ezsummary")
実行コマンド
ezmarkupコマンドの他に、参考としてデータ要約のコマンドも紹介します。詳細はコメント、パッケージのヘルプを確認してください。
###データ例の作成#####
n <- 100
TestData <- data.frame(Group = sample(paste0("Group", 1:10), n, replace = TRUE),
Data1 = sample(1:100, n, replace = TRUE),
Data2 = rnorm(n),
Data3 = sample(1:100, n, replace = TRUE),
Data4 = sample(1:100, n, replace = TRUE))
########
#データの列をまとめる:ezmarkuコマンド
#まとめ方を指定:patternオプション;"."が列を示します,[]で列をまとめます
MarkData <- ezmarkup(TestData, pattern = ".[.(.)][.(.)]")
head(MarkData)
Group Data1(Data2) Data3(Data4)
1 Group8 11(-0.892586596231018) 23(70)
2 Group8 12(-1.5541961046788) 42(44)
3 Group5 62(0.509548680240374) 36(67)
4 Group10 18(1.11331361886136) 46(78)
5 Group1 89(-0.396595786892319) 7(54)
6 Group7 6(-1.70261354673421) 83(16)
####おまけ#####
#データの要約:ezsummaryコマンド
ezsummary(TestData, n = FALSE, sem = FALSE, median = FALSE,
quantile = FALSE, round.N = 3,
flavor = "long", unit_markup = NULL)
Source: local data frame [199 x 3]
variable mean_n sd_p
(chr) (chr) (dbl)
1 Group_Group1 6 0.06
2 Group_Group10 13 0.13
3 Group_Group2 12 0.12
4 Group_Group3 7 0.07
5 Group_Group4 11 0.11
6 Group_Group5 7 0.07
7 Group_Group6 13 0.13
8 Group_Group7 9 0.09
9 Group_Group8 13 0.13
10 Group_Group9 9 0.09
.. ... ... ...
#データを列毎に要約:ezsummary_quantitativeコマンド
ezsummary_quantitative(TestData, n = FALSE, mean = TRUE, sd = TRUE,
sem = FALSE, median = FALSE, quantile = FALSE, round.N = 3,
flavor = "long", unit_markup = NULL)
Source: local data frame [5 x 3]
variable mean sd
(fctr) (dbl) (dbl)
1 Group NA 2.845
2 Data1 50.090 30.512
3 Data2 0.023 1.027
4 Data3 54.780 27.881
5 Data4 51.310 26.330
少しでも、あなたの解析が楽になりますように!!