2つのデータを比較して、違いを確認するパッケージの紹介です。結果はhtmlファイルだけでなくエクセルでも保存可能です。
パッケージバージョンは2.3.3。実行コマンドはwindows 11のR version 4.1.3で確認しています。
パッケージのインストール
下記、コマンドを実行してください。
#パッケージのインストール
install.packages("compareDF")
実行コマンド
詳細はコメント、パッケージのヘルプを確認してください。
#パッケージの読み込み
library("compareDF")
###データ例の作成#####
#tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
install.packages("tidyverse");require("tidyverse")
}
#データ1
TestData1 <- tibble(Group = paste0("Group ", 1:4),
Data1 = 1:4, Data2 = LETTERS[1:4])
# A tibble: 4 x 3
# Group Data1 Data2
# <chr> <int> <chr>
#1 Group 1 1 A
#2 Group 2 2 B
#3 Group 3 3 C
#4 Group 4 4 D
#データ2
TestData2 <- tibble(Group = paste0("Group ", 1:5),
Data1 = c(1, 5, 3, 6, 4),
Data2 = LETTERS[1:5])
# A tibble: 5 x 3
# Group Data1 Data2
# <chr> <dbl> <chr>
#1 Group 1 1 A
#2 Group 2 5 B
#3 Group 3 3 C
#4 Group 4 6 D
#5 Group 5 4 E
########
#データの差を表示:compare_dfコマンド
#グループを指定:group_colオプション
#検出する差:toleranceオプション
#検出する差の単位:tolerance_typeオプション;"ratio"/"difference"
Result <- compare_df(df_new = TestData1, df_old = TestData2,
group_col = "Group", tolerance = 1,
tolerance_type = "difference")
#compare_dfコマンド結果を作業フォルダに出力:create_output_tableコマンド
#保存ファイル形式:output_typeオプション;"html"/"xlsx"
#ファイル名を指定:file_nameオプション
#データの変更内容のフォントカラー:color_schemeオプション
create_output_table(comparison_output = Result,
output_type = "html",
file_name = "Test.html",
color_scheme = c(addition = "#52854C", removal = "#FC4E07",
unchanged_cell = "#999999",
unchanged_row = "#293352"))
#結果をViewerで表示:view_htmlコマンド
view_html(comparison_output = Result)
#compare_dfコマンド:実行内容の確認
Result
#$comparison_df
# Group chng_type Data1 Data2
#1 Group 2 + 2 B
#2 Group 2 - 5 B
#3 Group 4 + 4 D
#4 Group 4 - 6 D
#5 Group 5 - 4 E
#$comparison_table_diff
# Group chng_type Data1 Data2
#1 = + + =
#2 = - - =
#3 = + + =
#4 = - - =
#5 - - - -
#$change_count
# Group changes additions removals
#1 Group 2 1 0 0
#2 Group 4 1 0 0
#3 Group 5 0 0 1
#$change_summary
#old_obs new_obs changes additions removals
#5 4 2 0 1
#$group_col
#[1] "Group"
#$change_markers
#[1] "+" "-" "="
#$comparison_table_ts2char
# Group chng_type Data1 Data2
#1 Group 2 2 2 B
#2 Group 2 1 5 B
#3 Group 4 2 4 D
#4 Group 4 1 6 D
#5 Group 5 1 4 E
#$comparison_table_diff_numbers
# Group chng_type Data1 Data2
#1 0 2 2 0
#2 0 1 1 0
#3 0 2 2 0
#4 0 1 1 0
#5 1 1 1 1
出力例
結果のフォントは緑色がdf_newオプション、赤色がdf_oldオプションに指定したデータ。chng_typeは「tolerance」オプション、「tolerance_type」オプションで指定した条件による判定です。なお、共通して存在するデータは表示されません。
・create_output_tableコマンド:output_type = “html”
・create_output_tableコマンド:output_type = “xlsx”

少しでも、あなたの解析が楽になりますように!!