【发布时间】:2014-11-02 21:07:07
【问题描述】:
我使用的是Boxplot最基本的函数boxplot(x, ..., range = 1.5,但是如果我不设置范围,让R使用它的默认值。像boxplot(x, . ..,) 胡须的确切分位数是多少?因为我的轮廓线大于或小于上/下胡须。我怎么知道上/下胡须上方或下方的轮廓线的确切百分比?换句话说,在不设置范围的情况下,我可以知道上/下胡须的数据百分比是多少?
【问题讨论】:
标签: r
我使用的是Boxplot最基本的函数boxplot(x, ..., range = 1.5,但是如果我不设置范围,让R使用它的默认值。像boxplot(x, . ..,) 胡须的确切分位数是多少?因为我的轮廓线大于或小于上/下胡须。我怎么知道上/下胡须上方或下方的轮廓线的确切百分比?换句话说,在不设置范围的情况下,我可以知道上/下胡须的数据百分比是多少?
【问题讨论】:
标签: r
例如,您可以按如下方式计算 utliers 的百分比:
# Some data with outliers:
d <- rnorm(100)
d[sample(1:100, 10)] <- rnorm(10,mean = 0, sd = 10)
bp <- boxplot(d)
# Get the values of the outliers:
out <- bp$out
# The proportion of outliers:
length(out)/length(d)*100
9
【讨论】:
不完全确定你的问题是什么,但是:?boxplot 说range 的默认值是 1.5,然后它说
范围:这决定了绘图胡须从 盒子。如果“范围”为正,则晶须延伸到最大 不超过“范围”倍的极端数据点 框的四分位距。零值会导致 胡须延伸到数据的极端。
换句话说,胡须不是数据的一部分,而是四分位距的倍数。
如果你想知道比例,可以使用boxplot.stats:
set.seed(101)
x <- runif(100)
bb <- boxplot.stats(x)
c(mean(x<min(bb$stats)),mean(x>max(bb$stats)))
## [1] 0 0
mean(<logical value>) 是计算比例的快捷方式。因为我选择了均匀分布的数据,所以实际上没有 个点超出胡须(通过查看boxplot(x) 确认)。如果我要使用rcauchy() 重新执行此操作,将会有很多...
【讨论】: