我正在处理由异常值组成的大量数据。该代码适用于大多数数据集,但不适用于少数数据。
此示例数据:
set.seed(100)
m=rnorm(200)
m[1]=100 #inserting outlier
m[2]=50
我的代码是:
library(outliers)
lg=outlier(m, logical=TRUE)
for(i in 1:length(lg)){
if(lg[i]==c("TRUE")){
m[i]=NA }}
这将用 NA 替换异常值。现在在这种情况下,100 被删除,但 50 没有被删除。我的数据集也发生了同样的事情。我不知道为什么。我希望得到这方面的帮助。
感谢您的阅读。