gpt4 book ai didi

r - 在 r 中显示 80% 线箱线图

转载 作者:行者123 更新时间:2023-12-02 06:56:10 26 4
gpt4 key购买 nike

我有一个只有数字的大型数据集(25,00 条记录),我想知道它的 80% 阈值。每当我尝试对其运行 boxplot(data) 时,结果都不清楚,因为我有太多的值:

Unclear

我试着绕过它并想出了 boxplot(data, outline = FALSE) 结果如下:

Clear

所以基本上我想知道两件事:

1)第二张图上面的那条线代表75%的正确率?如果是这样,那么我如何才能将 75% 更改为 80%。

2) 我不显示异常值的方法是否正确?或者也许有更简单的方法来显示 80% 的阈值?

很抱歉没有提供可重现的示例,但如果有必要,我会进行编辑。

最佳答案

我并不是建议您这样做,但您可以更改用于绘制箱线图的统计摘要,并用您自己的统计数据替换任何统计数据。

例如,按照您的要求在 x 分布的 0.8 分位数处绘制框的上界(而不是在上铰链处),那么我们会这样做:

set.seed(10)
x <- rnorm(1000)
bps <- boxplot(x, plot = FALSE)

bps 现在包含:

> bps
$stats
[,1]
[1,] -2.643849768
[2,] -0.677466940
[3,] -0.003001333
[4,] 0.728515646
[5,] 2.700636623

$n
[1] 1000

$conf
[,1]
[1,] -0.07324983
[2,] 0.06724716

$out
[1] -3.001431 3.541140 3.012906 -3.012164

$group
[1] 1 1 1 1

$names
[1] "1"

这是我们要更改的 stats 组件

## Replace the 4th statistic (upper box)
bps$stats[4, 1] <- quantile(x, probs = 0.8)

现在我们使用 bxp() 函数来绘制 - boxplot() 在内部使用这个函数,所以我们在这里没有做任何不同的事

bxp(bps)

这会给我们:

enter image description here

红线是用

添加的
abline(h = fivenum(x)[4], col = "red", lty = "dashed", lwd = 2)

and 是上铰链,即 boxplot() 绘制框的上边缘的位置。

我之所以说我不建议您这样做,是因为它改变了人们对情节的预期解读。如果您确实修改了箱线图,则需要向展示该图的人解释您的新约定。

如果我们对此更加小心,我们现在也会将 mustache 推得更远,因为盒子的尺寸增加了。这将取代下部和上部晶须

bps$stats[c(1,5), 1] <- bps$stats[c(2,4), 1] + 
(c(-1,1) * (1.5 * diff(bps$stats[c(2,4), 1])))

和重绘:

bxp(bps)
abline(h = fivenum(x)[4], col = "red", lty = "dashed", lwd = 2)

给予

enter image description here

尽管现在您遇到了异常值的问题。所以我们也应该解决这个问题

ind <- bps$out > bps$stats[1,1] & bps$out < bps$stats[5,1]
bps$out <- bps$out[!ind]
bps$group <- bps$group[!ind]

最终产生

enter image description here

将所有这些放在一起我们有:

set.seed(10)
x <- rnorm(1000)
bps <- boxplot(x, plot = FALSE)
bps$stats[4, 1] <- quantile(x, probs = 0.8)
bps$stats[c(1,5), 1] <- bps$stats[c(2,4), 1] +
(c(-1,1) * (1.5 * diff(bps$stats[c(2,4), 1])))
ind <- bps$out > bps$stats[1,1] & bps$out < bps$stats[5,1]
bps$out <- bps$out[!ind]
bps$group <- bps$group[!ind]

关于r - 在 r 中显示 80% 线箱线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31034132/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com