本文へスキップ
からだにいいもの

Rのトピックスを中心に『まだ、まだ、知らない、役に立つ情報?』を発信します。

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

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

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

このコードの続きをAIに聞く

スポンサーリンク
Prices and shipping availability may change. Please refer to the product page at time of purchase.
Content displayed on this site is provided by Amazon and may be updated or removed.
Amazon Associate, karada-good earns income through qualifying sales.