r - 我在从删除异常值的函数中返回 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,]
编辑:添加逗号,感谢 u/maydin 的捕获。
推荐阅读
- reactjs - 函数在组件更新之前执行
- python - 将数字 ID 转换为不同字母数字代码的算法
- filter - Grok过滤器在调试器中工作但不在logstash中
- javascript - 如何将点击功能添加到动态创建的元素?
- r - 如何合并这两个列表
- c++ - C++ GLSL 着色器:“错误:不支持 GLSL 3.30。支持的版本有:1.10、1.20、1.30、1.00 ES 和 3.00 ES”或黑窗
- angular - 如何在树 Angular 中添加新节点?
- sonarqube - Sonarqube API 限制返回 10000 个问题
- code-climate - codeclimate.yml 中的代码气候测试报告器配置
- android - webRTC 在 peerConnection.dispose() 上崩溃