我使用以下函数删除了排名最低的数据(将它们标记为 NA):
RemoveOutlier<- function(x, pctl){
qnt <- quantile(x, probs = pctl)
y <- x
y[x <= qnt] <- NA
y
} # remove the bottom pctl% data
例如,RemoveOutlier(x=seq(1,10,1), 0.1)
将删除底部 10% 的数据。
然后我尝试将此函数应用于iris$Petal.Width
by Species
,生成一个新列Petal.Width.Rm
:
iris$Petal.Width.Rm <- with(iris, ave(Petal.Width, Species, FUN = RemoveOutlier(x, 0.1)))
但是我没有找到错误对象'x'。这里有什么问题?