Rで解析:データのトリミングに便利です「transform」パッケージ

Rの解析に役に立つ記事

データを解析していると「一定範囲外のデータをすべて同じ値」で処理したくなる時があります。forやif関数などを組み合わせることで処理できますが、本パッケージを利用するとすぐに解決です。

パッケージバージョンは0.2.4。実行コマンドはR version 4.2.2で確認しています。

スポンサーリンク
スポンサーリンク

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

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

#パッケージのインストール
install.packages("devtools")
devtools::install_github("derek-damron/transformr")

実行コマンド

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

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

###データ例の作成#####
TestData <- sample(1:500, 100, replace = TRUE)
#######

#データ内容の確認
summary(TestData)
Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
7.0   133.0   253.0   244.2   364.8   500.0 

#データ範囲を指定した値で変換してトリミング
#実数で指定
TrimVTestData <- trim(TestData, lo = 200, hi = 300, method = "value")
summary(TrimVTestData)
Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
200.0   200.0   253.0   248.5   300.0   300.0
#パーセントで指定
TrimPTestData <- trim(TestData, lo = .2, hi = .4, method = "percentile")
summary(TrimPTestData)
Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
105.2   133.0   193.5   167.4   193.5   193.5

#データの結合と整形
PlotData <- data.frame(TestData, TrimVTestData, TrimPTestData)
library("tidyr")
PlotData <- gather(PlotData)
#図で確認
library("ggplot2")
GJPLot <- ggplot(aes(x = PlotData[, 1], y = PlotData[, 2]), data = PlotData)
GJPLot + geom_boxplot(fill = c("#4b61ba", "#a87963", "#deb7a0")) + geom_jitter() +
  labs(x = "", y = "")

出力例

図で確認

transform

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

タイトルとURLをコピーしました