外れ値を値 -9999 に置き換える方法が必要です。私のデータでは -9999 は値が欠落していることを意味します。これは、NA の代わりにこのタイプのデータに通常使用される単なる規則です。
43列のamfというデータフレームがあります。列ごとに移動し、99 パーセンタイルを超える値と 1 パーセンタイルを下回る値をそれぞれ -9999 に置き換える必要があります。ただし、年の列など、いくつかの列をスキップする必要があります。
apply 関数と lapply 関数をさまざまな方法で使用してみましたが、間違って使用しているに違いありません。これが私が試したことです
amf_out <- apply(amf[,4:43],2, which(amf[,4:43] > quantile(amf[,4:43, .99)))
amf_out <- lapply(1:length(amf), function(i) amf[which(amf[,i] > quantile(amf[,1],.99))] <-
-9999)
amf[which(amf[,4:43] > quantile(amf[,4:43], .99))] <- -9999
論文はどれも機能していません。助言がありますか?