我没有尝试从数据集中删除异常值,而是尝试创建一个新的数据框,其中只包含其中包含异常值的行。
我能够将不同组的平均值和标准偏差列绑定到数据集的末尾。现在,我尝试使用此代码生成异常数据表:
Outliers <- Sample[((Sample$x - Sample$Averages)/Sample$StDevs) > 2.00,]
此过程会运行,但会为Outliers生成一个空表。我从数据中测试了一些单独的值,以确保存在异常值,并且确实存在异常值。如果我指定一行,上面的计算确实产生一个布尔参数。当我试图在表格中收集这些异常值时,我遇到了问题。我也尝试将Outliers初始化为data.frame或data.table,但这里也没有成功(可能只是因为我是R的新手)。
例如: 我跑的时候
((Sample$x[3] - Sample$Averages[3])/Sample$StDevs[3]) > 2
它返回TRUE。这很好。那么,为什么我只想在Sample中保留所有条件为真的时候得到一个空的异常值表?我不觉得这应该是一个难题,但我不能为我的生活让它发挥作用。
有什么建议吗?提前谢谢!
答案 0 :(得分:0)
Sample[ 0, ]
应该为您提供一个没有行和相同列名的空数据框。