谁能告诉我如何删除第一列的异常值并同时保留第二列?我的数据集如下:
Y X
79 1.00000000
70 1.00000000
10 0.90000000
78 1.00000000
... ...
Run Code Online (Sandbox Code Playgroud)
您需要定义您的意思但异常值,但例如,假设任何不在均值正负两个标准差范围内的值都是异常值:
m<-mean(df$Y)
sd<-sd(df$Y)
out.u<-m+2*sd
out.l<-m-2*sd
Run Code Online (Sandbox Code Playgroud)
这将用 NA 替换异常值:
rem.out<-ifelse(df$Y>out.u or dfY<out.l,NA,df$Y)
Run Code Online (Sandbox Code Playgroud)
这将删除整行:
no.out<-subset(df,df$Y<out.u & df&Y>out.l)
Run Code Online (Sandbox Code Playgroud)