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)
#######

#&#12487;&#12540;&#12479;&#20869;&#23481;&#12398;&#30906;&#35469;
summary(TestData)
Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
7.0   133.0   253.0   244.2   364.8   500.0 

#&#12487;&#12540;&#12479;&#31684;&#22258;&#12434;&#25351;&#23450;&#12375;&#12383;&#20516;&#12391;&#22793;&#25563;&#12375;&#12390;&#12488;&#12522;&#12511;&#12531;&#12464;
#&#23455;&#25968;&#12391;&#25351;&#23450;
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
#&#12497;&#12540;&#12475;&#12531;&#12488;&#12391;&#25351;&#23450;
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

#&#12487;&#12540;&#12479;&#12398;&#32080;&#21512;&#12392;&#25972;&#24418;
PlotData <- data.frame(TestData, TrimVTestData, TrimPTestData)
library("tidyr")
PlotData <- gather(PlotData)
#&#22259;&#12391;&#30906;&#35469;
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をコピーしました