[解決済み] データセットから外れ値を除去する方法
2022-11-03 11:35:19
質問
美容と年齢の多変量解析データがあります。年齢は20~40で、2つの間隔(20、22、24...40)で、データの各レコードについて、年齢と1~5までの美の評価が与えられています。このデータの箱ひげ図(X軸に年齢、Y軸に美の評価)を作成すると、各箱のひげの外側にいくつかの外れ値がプロットされます。
データ フレーム自体からこれらの外れ値を削除したいのですが、R が箱ひげ図に対して外れ値をどのように計算するのかがわかりません。以下は、私のデータがどのようなものであるかの例です。
どのように解決するのですか?
さて、あなたのデータセットにこのようなものを適用する必要があります。入れ替えたり、保存したりしないでください。あと、データから外れ値を削除するのは(ほぼ)やめたほうがいい。
remove_outliers <- function(x, na.rm = TRUE, ...) {
qnt <- quantile(x, probs=c(.25, .75), na.rm = na.rm, ...)
H <- 1.5 * IQR(x, na.rm = na.rm)
y <- x
y[x < (qnt[1] - H)] <- NA
y[x > (qnt[2] + H)] <- NA
y
}
実際に見るには
set.seed(1)
x <- rnorm(100)
x <- c(-10, x, 10)
y <- remove_outliers(x)
## png()
par(mfrow = c(1, 2))
boxplot(x)
boxplot(y)
## dev.off()
そしてもう一度言いますが、決して自分でやってはいけません!異常値はなるべくしてなったのです。=)
EDITです。
追加したのは
na.rm = TRUE
をデフォルトとして追加しました。
EDIT2です。
削除された
quantile
関数を削除し、添え字を追加して、関数を高速化しました! =)
関連
-
データボックス内の行/列の削除/追加を行うR言語
-
[R] is.data.frame(x) のエラー : (リスト) オブジェクトを 'double' 型に強制できない。
-
[解決済み] Rの再現性のある優れた例題の作り方
-
[解決済み] データフレームを結合(マージ)する方法(内側、外側、左側、右側)
-
[解決済み] require()とlibrary()の違いは何ですか?
-
[解決済み] Rでロードされているパッケージのバージョンを調べるには?
-
[解決済み] ベクトル中のある要素のインデックスを求めるR関数はありますか?
-
[解決済み] データフレーム内の列を名前でドロップする方法
-
[解決済み] Rでオブジェクト(変数)が定義されているかどうかを確認するには?
-
[解決済み] FUN内のlapplyインデックス名へのアクセス
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
R言語です。「接続を開くことができません」解決策
-
R言語のエラーメッセージと関連する解決策
-
R plot.new() のエラー : 図形の余白が大きすぎる
-
Rによる系統的クラスタリング(階層)分析のグラフ形式の完全版
-
[解決済み] ネストされた plot_grid を同じサイズに拡大縮小するには?
-
[解決済み] グループ化関数(tapply、by、aggregate)と*applyファミリ
-
[解決済み] Rで2つのグラフを同じプロットで表示する
-
[解決済み] ggplotで凡例のタイトルを変更する方法
-
[解決済み] FUN内のlapplyインデックス名へのアクセス
-
[解決済み] 2つの単語の最初の文字を大文字にします。