使用IQR处理异常值。稍后,当我对单个变量使用目标变量(0和1)时,我会再次看到异常值。现在我也要删除这些。
需要使用目标变量作为条件从不同变量中去除异常值。
如果数据包含因子和另一个变量(具有NA),并且目标变量== 0或== 1
下面是一些在包含目标变量== 0或== 1之前起作用的代码
for(i in 1:ncol(ZscoreData)){
if(is.factor(ZscoreData[,i])==F && !ZscoreData$`dd[]` && ZscoreData$Churn == 0){
LowOut <- quantile(ZscoreData[,i])[2] - (1.5*IQR(ZscoreData[,i]))
HighOut <- quantile(ZscoreData[,i])[4] + (1.5*IQR(ZscoreData[,i]))
ZscoreData[,i] <- ifelse(ZscoreData[,i]<LowOut,LowOut,ifelse(ZscoreData[,i]>HighOut,HighOut,ZscoreData[,i]))
#print(names(df[i]))
}
}
即使在包含目标变量之后也需要没有异常值