我在从删除异常值的函数返回 R 中的数据帧对象时遇到问题



我正在尝试创建一个函数,该函数返回数据帧的其余部分,并删除特定列的异常值,但无论我使用什么列,返回的数据帧对象始终为空。

remove_outlier = function(dataframe,column){
average = mean(dataframe[[column]])
std = sd(dataframe[[column]])
cutoff = 3 * std
lower = average - cutoff
upper = average + cutoff
print(lower)
new = dataframe[dataframe[[column]] > lower & dataframe[[column]] < lower]
return(new)
}
testing = remove_outlier(BostonHousing,'age')
head(testing)
new = dataframe[dataframe[[column]] > lower & dataframe[[column]] < lower]

由于没有等号,因此不可能同时大于值和更低但不等于。这条线不正确,我怀疑你打算在那里有上层。

new = dataframe[dataframe[[column]] > lower & dataframe[[column]] < upper,]

编辑:添加一个逗号,感谢你/梅丁的捕获。

最新更新