如何在 R 中使用一行代码,从使用 boxplot 函数为数据框列创建的多个箱线图中去除异常值?

r programmingserver side programmingprogramming更新于 2025/6/25 13:52:17

一个数据框可以包含多个数值列,我们可以通过使用 boxplot 函数并传入数据框名称来为每一列创建箱线图。但如果我们要排除异常值,则可以使用 outline 参数。例如,如果我们有一个数据框 df,其中包含多个包含异常值的数值列,那么可以使用 boxplot(df,outline=FALSE) 创建不包含异常值的箱线图。

示例

考虑以下数据框:

set.seed(151)
x1<-c(-5,rnorm(18),5)
x2<-c(-6,rnorm(18,1,0.2),6)
x3<-c(-10,rnorm(18,1,0.5),10)
x4<-c(-12,rnorm(18,1,0.1),12)
x5<-c(-15,rnorm(18,1,0.8),15)
df<-data.frame(x1,x2,x3,x4,x5)
df

输出

        x1          x2          x3       x4          x5
1 -5.00000000 -6.0000000 -10.0000000 -12.0000000 -15.0000000
2 -0.05153895 1.1347052  1.7228397    1.0216649    0.5526645
3 0.76573738  1.0620079  1.1305064    1.0407813    1.2837024
4 -0.14673959 0.7255857  1.9645730    0.9528957    0.9981142
5 -0.11318581 0.6726474  0.7000570    0.9979680    1.4502265
6 -0.39551140 0.9280697  1.0449886    0.9596063    1.1528738
7 0.78227595  1.2402230  1.2416571    1.0422124    0.8461499
8 -1.39747811 0.8708252  2.0122390    0.8796052    0.7642688
9 -1.01883832 0.8978782  1.8157587    0.8944016    0.3106157
10 0.22947586 0.8801754  1.6851877    1.0137921    2.2427285
11 0.67217297 1.1091206 -0.2065685    0.9715086    0.7642430
12 -0.48455178 0.9017412 0.5728289    1.0170325    2.6194087
13 0.56060896 1.0383071  1.2811840    0.9864194    2.3656720
14 0.06615648 0.8882945  0.8173998    0.8232215    1.4163186
15 -1.34987612 1.1845399 0.8286647    0.7985602    1.0698010
16 -0.24291581 1.2307996 0.6122296    1.0941148    1.3163952
17 -1.23674102 0.7255179 0.9935761    0.9278766    1.8420136
18 -1.47467765 1.2580363 1.3498465    0.9826864    1.0976992
19 2.43715892  1.2309804 1.0159605    0.8997847    0.9828209
20 5.00000000  6.0000000 10.0000000   12.0000000   15.0000000

为自由度 (df) 的列创建箱线图 −

示例

boxplot(df)

输出

为自由度 (df) 的列创建不含异常值的箱线图 −

示例

boxplot(df,outline=FALSE)

输出


相关文章