Rでデータを操作していると「データの変更箇所」の確認に時間がかかる場合があります。本パッケージを利用することで変更箇所の確認が容易になります。なお、変更箇所を示す内容はhtml,csvファイルで出力可能です。htmlファイルの出力は利用範囲が広いと思います。
また、「同じ形式のデータを同じ条件で変更する」コマンドや「変更箇所を比較し適応した新しいデータを作成する」コマンドも収録されています。ぜひ、活用ください。
これは、便利なパッケージだと思います。
パッケージのバージョンは0.1.4。R version 3.2.1でコマンドを確認しています。
パッケージのインストール
下記コマンドを実行してください。
#パッケージのインストール
install.packages("daff")
実行コマンドの紹介
詳細はコマンド、パッケージヘルプを確認してください。
#パッケージの読み込み
library("daff")
#####準備#####################
#データ例の作成
TestData1 <- data.frame(Group = rep(paste0("グループ", 1:3), length = 10),
Data1 = sample(0:5, 10, replace = TRUE),
Data2 = sample(5:10, 10, replace = TRUE))
#データの複製
TestData2 <- TestData1
##############################
#TestData2の内容を変更する
#グループ2を除く
TestData2 <- subset(TestData2, TestData2[, 1] != "グループ2")
#Data1の内容を変更
TestData2[1, 2] <- 10
#Data2を削除
TestData2$Data2 <- NULL
#変更箇所の比較:diff_dataコマンド
patch <- diff_data(TestData1, TestData2)
#htmlで出力
render_diff(patch, file = "patch.html")
#作業フォルダに変更箇所テーブルを出力:write_diffコマンド
write_diff(patch, "patch.csv")
#出力した変更箇所テーブルを読み込み:read_diffコマンド
library("tcltk")
PatchData <- read_diff(as.character(tkgetOpenFile(title = "データパッチファイルを選択",
filetypes = '{"データパッチファイル" {".csv"}}',
initialfile = c("*.csv"))))
#データに適応:patch_data
PatchTestData1 <- patch_data(TestData1, patch)
#同一のデータ2種でそれぞれ変更があった箇所を適応し
#新たなデータを作成:merge_dataコマンド
MasterData <- TestData1
TestData1[1, 2] <- 99999
TestData2[5, 3] <- 99999
#コマンドの実行
MergeNewData <- merge_data(MasterData, TestData1, TestData2)
MergeNewData
Group Data1 Data2
1 グループ1 99999 9
2 グループ2 0 10
3 グループ3 1 7
4 グループ1 2 10
5 グループ2 1 99999
6 グループ3 4 9
7 グループ1 2 6
8 グループ2 3 6
9 グループ3 1 6
10 グループ1 4 9
htmlでの出力例
緑(+++)は追加/変更、赤(—)は削除、例には示されていませんが濃い紫(->)変更箇所となります。着色されていませんがcsvファイルも同じ内容です。
少しでも、あなたのウェブや実験の解析が楽になりますように!!