Как провести тестирование каждой переменной и изменить ее?

Я хочу проверить значение выброса каждой переменной в R и изменить значение выброса переменной на конкретное значение.

Многие люди написали в stackru, чтобы порекомендовать outlierTest функция в пакете автомобиля.

Однако функция outlierTest извлекает результат конкретной строки, а не переменной.

Я хочу, чтобы переменная имела выброс и изменила это значение на конкретное значение. Какие функции и код я должен использовать?

+ Вот мой код данных. Это открытый исходный код. Таким образом, вы можете загрузить эти данные в следующем коде.

credit<-read.csv("http://freakonometrics.free.fr/german_credit.csv", header=TRUE)
F=c(1,2,4,5,7,8,9,10,11,12,13,15,16,17,18,19,20,21)
for(i in F) credit[,i]=as.factor(credit[,i])

2 ответа

У вас есть несколько вариантов для обнаружения и изменения выбросов. Пожалуйста, проверьте этот действительно полезный пост:

https://www.r-bloggers.com/outlier-detection-and-treatment-with-r/

Найти отклонение и заменить его значением 99-го процентиля

Data_Outlier <- read.csv(file.choose()) # Your dataset
percentile.table = data.frame(NULL)

for(i in 2:ncol(Data_Outlier))
 {      
     if (is.numeric(Data_Outlier[,i]))
     {
         percentile_value <- quantile(Data_Outlier[,i],c(0.99),na.rm=TRUE)
         Variable = names(Data_Outlier)[i]
         Percentile.99 = percentile_value
         table = cbind(Variable, Percentile.99)
         percentile.table = rbind(percentile.table,table)
     }
 }
print(percentile.table,row.names=FALSE)

for(i in 2:ncol(Data_Outlier))
 {
     Percentile.99 = quantile(Data_Outlier[,i],c(0.99),na.rm=TRUE)
     Data_Outlier[,i][Data_Outlier[,i]>Percentile.99] = Percentile.99
 }
Другие вопросы по тегам