Rで解析:data.frameの最終行に要約を追加「summaryrow」パッケージ


data.frameの最終行に平均や合計などの追加だけでなく、データの体裁を整えるパッケージの紹介です。処理対象の列を指定することができるので便利です。

パッケージバージョンは0.0.0.9000。実行コマンドはwindows 7およびOS X 10.11.2のR version 3.2.3で確認しています。


パッケージのインストール

下記、コマンドを実行してください。

#パッケージのインストール
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 4 649.0 6900 564 349.0 2 Group 1 139.0 4639 388 127.0 3 Group 4 505.0 4576 170 766.0 4 Group 2 248.0 5957 858 835.0 5 Group 2 31.0 7753 818 787.0 6 Group 4 307.0 6782 332 421.0 7 Group 2 599.0 4262 205 509.0 8 Group 2 127.0 5283 604 809.0 9 Group 5 354.0 7169 380 703.0 10 Group 5 100.0 6862 808 243.0 11 Totals 305.9 NA NA 554.9 #処理内容を指定して計算: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 [/code]


少しでも、あなたのウェブや実験の解析が楽になりますように!!

スポンサードリンク

スポンサードリンク