data.frameの最終行に平均や合計などの追加だけでなく、データの体裁を整えるパッケージの紹介です。処理対象の列を指定することができるので便利です。
パッケージバージョンは0.0.1。実行コマンドはR version 4.2.2で確認しています。
パッケージのインストール
下記、コマンドを実行してください。
#パッケージのインストール install.packages("devtools") devtools::install_github("merlinoa/summaryrow")
実行コマンド
詳細はコメント、パッケージのヘルプを確認してください。
#パッケージの読み込み library("summaryrow") ###データ例の作成##### n <- 10 TestData <- data.frame(Group = I(sample(paste0("Group ", 1:5), n, replace = TRUE)), Data1 = sample(0:700, n, replace = TRUE), Data2 = sample(4000:8000, n, replace = TRUE), Data3 = sample(60:1000, n, replace = TRUE), Data4 = sample(80:900, n, replace = TRUE)) ######## #列平均を計算:averages_rowコマンド #対象列を指定:colsオプション #最終行にラベルを記述する列を指定:label_colオプション #factor形式のデータにラベル位置を指定するとNAが記述されます #ラベル内容:labelオプション #結果を最終行下部に追加:new_rowオプション averages_row(df = TestData, cols = c(2, 5), label_col = 1, label = "Totals", new_row = TRUE) #結果の一部 Group Data1 Data2 Data3 Data4 1 Group 1 264.0 7792 675 184.0 2 Group 5 327.0 4275 632 564.0 3 Group 4 364.0 7044 496 889.0 4 Group 5 458.0 7826 486 585.0 5 Group 3 214.0 6916 323 897.0 6 Group 2 248.0 7766 270 170.0 7 Group 2 81.0 6668 492 554.0 8 Group 1 228.0 6659 256 226.0 9 Group 4 5.0 5172 859 234.0 10 Group 3 690.0 4832 463 715.0 11 Totals 287.9 NA NA 501.8 #処理内容を指定して計算:summary_rowオプション #処理内容を指定:funオプション #処理する行範囲を指定:rowsオプション summary_row(df = TestData, cols = c(2, 5), na.rm = TRUE, fun = sum, label_col = 1, rows = 5:6, label = "SUM row:5-6", new_row = TRUE) #結果 Group Data1 Data2 Data3 Data4 1 Group 4 649 6900 564 349 2 Group 1 139 4639 388 127 3 Group 4 505 4576 170 766 4 Group 2 248 5957 858 835 5 Group 2 31 7753 818 787 6 Group 4 307 6782 332 421 7 Group 2 599 4262 205 509 8 Group 2 127 5283 604 809 9 Group 5 354 7169 380 703 10 Group 5 100 6862 808 243 11 SUM row:5-6 338 NA NA 1208 #数字を3桁区切り,小数点の桁を調整する:format_numericコマンド #小数点の桁を調整定:digitsオプション format_numeric(df = TestData, cols = 3, digits = 2) #結果 Group Data1 Data2 Data3 Data4 1 Group 4 649 6,900.00 564 349 2 Group 1 139 6,900.00 388 127 3 Group 4 505 6,900.00 170 766 4 Group 2 248 6,900.00 858 835 5 Group 2 31 6,900.00 818 787 6 Group 4 307 6,900.00 332 421 7 Group 2 599 6,900.00 205 509 8 Group 2 127 6,900.00 604 809 9 Group 5 354 6,900.00 380 703 10 Group 5 100 6,900.00 808 243 #数字をパーセント表記にする:format_percentコマンド format_percent(df = TestData, cols = 2, digits = 2) #結果 Group Data1 Data2 Data3 Data4 1 Group 4 649.00% 6900 564 349 2 Group 1 649.00% 4639 388 127 3 Group 4 649.00% 4576 170 766 4 Group 2 649.00% 5957 858 835 5 Group 2 649.00% 7753 818 787 6 Group 4 649.00% 6782 332 421 7 Group 2 649.00% 4262 205 509 8 Group 2 649.00% 5283 604 809 9 Group 5 649.00% 7169 380 703 10 Group 5 649.00% 6862 808 243
少しでも、あなたのウェブや実験の解析が楽になりますように!!