データの要約は面倒な作業です。特に、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
少しでも、あなたの解析が楽になりますように!!