gpt4 book ai didi

r - 使用 R 将多个系列的数据绘制到单个 bagplot 中

转载 作者:行者123 更新时间:2023-12-04 23:20:01 25 4
gpt4 key购买 nike

让我们考虑一下 bagplot example包含在 R 中的 aplpack 库中。 bagplot 是箱线图的二元概括,因此可以深入了解数据点在两个轴上的分布。

袋图示例:
car data bagplot

示例代码:

  # example of Rousseeuw et al., see R-package rpart
cardata <- structure(as.integer( c(2560,2345,1845,2260,2440,
2285, 2275, 2350, 2295, 1900, 2390, 2075, 2330, 3320, 2885,
3310, 2695, 2170, 2710, 2775, 2840, 2485, 2670, 2640, 2655,
3065, 2750, 2920, 2780, 2745, 3110, 2920, 2645, 2575, 2935,
2920, 2985, 3265, 2880, 2975, 3450, 3145, 3190, 3610, 2885,
3480, 3200, 2765, 3220, 3480, 3325, 3855, 3850, 3195, 3735,
3665, 3735, 3415, 3185, 3690, 97, 114, 81, 91, 113, 97, 97,
98, 109, 73, 97, 89, 109, 305, 153, 302, 133, 97, 125, 146,
107, 109, 121, 151, 133, 181, 141, 132, 133, 122, 181, 146,
151, 116, 135, 122, 141, 163, 151, 153, 202, 180, 182, 232,
143, 180, 180, 151, 189, 180, 231, 305, 302, 151, 202, 182,
181, 143, 146, 146)), .Dim = as.integer(c(60, 2)),
.Dimnames = list(NULL, c("Weight", "Disp.")))
bagplot(cardata,factor=3,show.baghull=TRUE,
show.loophull=TRUE,precision=1,dkmethod=2)
title("car data Chambers/Hastie 1992")
# points of y=x*x
bagplot(x=1:30,y=(1:30)^2,verbose=FALSE,dkmethod=2)

aplpack 的 bagplot 似乎只支持为单个数据系列绘制“包”。更有趣的是在单个 bagplot 中绘制两个(或三个)数据系列,其中直观地比较数据系列的“包”可以深入了解数据系列的数据分布差异。有谁知道这是否(如果是,如何)在 R 中完成?

最佳答案

如果我们修改一些aplpack::bagplot代码我们可以为ggplot2创建一个新的geom。然后我们可以用通常的 ggplot2 方式比较数据集中的组。下面是一个例子:

library(ggplot2)
ggplot(iris, aes(Sepal.Length, Sepal.Width,
colour = Species, fill = Species)) +
geom_bag() +
theme_minimal()

enter image description here

我们可以用 bagplot 显示点:
ggplot(iris, aes(Sepal.Length, Sepal.Width, 
colour = Species, fill = Species)) +
geom_bag() +
geom_point() +
theme_minimal()

enter image description here

这是 geom_bag 的代码并修改 aplpack::bagplot功能: https://gist.github.com/benmarwick/00772ccea2dd0b0f1745

关于r - 使用 R 将多个系列的数据绘制到单个 bagplot 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29501282/

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