去除向量中的异常值
removing outliers in a vector
目的是去除向量中的异常值。
x = datasets::islands ($area)
x = 12 13 13 13 14 14 15 15 16 16 16 19 21 23 25 26 29 29 30 30
32 33 36 40 42 43 43 44 49 58 73 82 82 84 89 183 184 227 280 306
840 2968 3745 5500 6795 9390 11506 16988
到目前为止使用
x_rm_out <- x[!x%in% boxplot.stats
(x, coef = .05, do.conf = TRUE, do.out = TRUE)$out]
结果
[1] 12 13 13 13 14 14 15 15 16 16 16 19 21 23 25 26 29 29 30 30 32 33 36 40 42 43 43 44 49 58 73
[32] 82 82 84 89 183 184
有没有办法从向量 (x) 中删除 183 和 184?
寻找异常值
找到异常值的一种非常简单的方法是使用 rstatix 包,然后使用 dplyr 将它们过滤掉:
# Load library:
library(rstatix)
library(dplyr)
# Make x into dataframe:
x <- data.frame(x)
# Identify outliers:
x %>%
identify_outliers()
你现在应该得到这样的输出:
x is.outlier is.extreme
1 840 TRUE TRUE
2 2968 TRUE TRUE
3 3745 TRUE TRUE
4 5500 TRUE TRUE
5 6795 TRUE TRUE
6 9390 TRUE TRUE
7 11506 TRUE TRUE
8 16988 TRUE TRUE
在没有它们的情况下创建数据框
现在你必须过滤掉数据,然后你可以把它变成一个新的数据框 (< 840)。如果您愿意,您也可以使用之前建立的标准 (< 183) 删除它们:
# Filter outliers and create new file:
x2 <- x %>%
filter(x < 183)
x2
在您输入 x2
后,您会得到没有异常值的输出:
x
1 12
2 13
3 13
4 13
5 14
6 14
7 15
8 15
9 16
10 16
11 16
12 19
13 21
14 23
15 25
16 26
17 29
18 29
19 30
20 30
21 32
22 33
23 36
24 40
25 42
26 43
27 43
28 44
29 49
30 58
31 73
32 82
33 82
34 84
35 89
目的是去除向量中的异常值。 x = datasets::islands ($area)
x = 12 13 13 13 14 14 15 15 16 16 16 19 21 23 25 26 29 29 30 30
32 33 36 40 42 43 43 44 49 58 73 82 82 84 89 183 184 227 280 306
840 2968 3745 5500 6795 9390 11506 16988
到目前为止使用
x_rm_out <- x[!x%in% boxplot.stats
(x, coef = .05, do.conf = TRUE, do.out = TRUE)$out]
结果
[1] 12 13 13 13 14 14 15 15 16 16 16 19 21 23 25 26 29 29 30 30 32 33 36 40 42 43 43 44 49 58 73
[32] 82 82 84 89 183 184
有没有办法从向量 (x) 中删除 183 和 184?
寻找异常值
找到异常值的一种非常简单的方法是使用 rstatix 包,然后使用 dplyr 将它们过滤掉:
# Load library:
library(rstatix)
library(dplyr)
# Make x into dataframe:
x <- data.frame(x)
# Identify outliers:
x %>%
identify_outliers()
你现在应该得到这样的输出:
x is.outlier is.extreme
1 840 TRUE TRUE
2 2968 TRUE TRUE
3 3745 TRUE TRUE
4 5500 TRUE TRUE
5 6795 TRUE TRUE
6 9390 TRUE TRUE
7 11506 TRUE TRUE
8 16988 TRUE TRUE
在没有它们的情况下创建数据框
现在你必须过滤掉数据,然后你可以把它变成一个新的数据框 (< 840)。如果您愿意,您也可以使用之前建立的标准 (< 183) 删除它们:
# Filter outliers and create new file:
x2 <- x %>%
filter(x < 183)
x2
在您输入 x2
后,您会得到没有异常值的输出:
x
1 12
2 13
3 13
4 13
5 14
6 14
7 15
8 15
9 16
10 16
11 16
12 19
13 21
14 23
15 25
16 26
17 29
18 29
19 30
20 30
21 32
22 33
23 36
24 40
25 42
26 43
27 43
28 44
29 49
30 58
31 73
32 82
33 82
34 84
35 89