【发布时间】:2021-10-22 10:11:21
【问题描述】:
我正在尝试从包含 3 个变量的数据集 s 中删除异常值:
id consumption period
a 0.1 summer
a 0.2 summer
b 0.3 summer
a 0.4 winter
b 10 winter
c 12 winter
我使用outliers <- s$consumption[!s$consumption %in% boxplot.stats(s$consumption)$out] 删除了s 中的异常值,得到了如下结果:
consumption
0.1
0.2
0.3
0.4
但是,我想在下面得到这样的东西:
id consumption period
a 0.1 summer
a 0.2 summer
b 0.3 summer
a 0.4 winter
但是$out 函数只允许我删除带有数字(而不是因子)的列。
【问题讨论】:
-
out <- s[!s$consumption %in% boxplot.stats(s$consumption)$out, ] -
我试过你的代码,但它说选择了未定义的列。
-
你确定你复制的代码正确吗?特别放置逗号?我没有选择任何列,而只选择此代码中的行。
-
对不起,我没有正确复制。我还想出了一个不太简单的解决方案,有兴趣的可以去看看。
标签: r