Rで解析:data.frameを比較して違いをラクラク把握「compareDF」パッケージ


2つのdata.frameを比較して、違いをブラウザとコンソールに表示するパッケージの紹介です。ブラウザで表示される結果をhtmlファイルで保存するコマンドも紹介します。

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


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

下記、コマンドを実行してください。パッケージの利用には「htmlTable」パッケージが必要です。

#パッケージのインストール
install.packages("devtools")
install.packages("htmlTable")
devtools::install_github("alexsanjoseph/compareDF")

実行コマンド

詳細はコメント、パッケージのヘルプを確認してください。

#パッケージの読み込み
library("compareDF")

###データ例の作成#####
#データ1
TestData1 <- data.frame(Group = paste0("Group ", 1:4),
                        Data1 = 1:4,
                        Data2 = LETTERS[1:4])
TestData1
    Group Data1 Data2
1 Group 1     1     A
2 Group 2     2     B
3 Group 3     3     C
4 Group 4     4     D
#データ2
TestData2 <- data.frame(Group = paste0("Group ", 1:5),
                        Data1 = c(1, 5, 3, 6, 4),
                        Data2 = LETTERS[1:5])
TestData2
    Group Data1 Data2
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オプション
#結果の表示数:limit_htmlオプション
#検出する差:toleranceオプション;カテゴリ変数には適応されません
Result <- compare_df(df_new = TestData1, df_old = TestData2, group_col = "Group",
                     limit_html = 100, tolerance = 1)

#作業フォルダにHTMLで結果を出力
cat(Result$html_output, file = "Result.html")

#内容の確認とHTML表示
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         -     5     D
5 Group 5         -     4     E

$html_output

$comparison_table_diff
 Group chng_type Data1 Data2
1     0         2     2     0
2     0         1     1     0
3     0         2     0     0
4     0         1     0     0
5     1         1     1     1

$change_count
Source: local data frame [2 x 4]

 variable changes additions removals
   (chr)   (dbl)     (dbl)    (dbl)
1        0       1         0        0
2        0       0         0        1

$change_summary
old_obs   new_obs   changes additions  removals 
5         4         1         0         1 

$change_detail_summary
Source: local data frame [3 x 4]

      param total_changes total_additions tot_removals
      (chr)         (dbl)           (dbl)        (dbl)
1 chng_type             2              -1            1
2     Data1             1              -1            1
3     Data2             0              -1            1

HTMLの出力例

ドラッグで文字列を選択しコピーすることができます。緑色はdf_newオプション、赤色はdf_oldオプションに指定したdata.frameの内容です。共通して存在するデータは表示されません。


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

スポンサードリンク

おすすめコンテンツ


スポンサードリンク