gpt4 book ai didi

r - ggplot2 - 来自不同长度来源的多个箱线图

转载 作者:行者123 更新时间:2023-12-04 10:37:33 29 4
gpt4 key购买 nike

我有几个不同长度的向量,我想使用 ggplot2 为它们生成并排的箱线图。这与 Base 绘图系统相对简单。然而 ggplot2 只接受单个数据帧作为输入,这很难从不同长度的数据中创建。

a <- rnorm(10)
b <- rnorm(100)
c <- rnorm(1000)
boxplot(a, b, c)

问:使用 ggplot2 使用不同长度的数据绘制箱线图的正确方法是什么?

最佳答案

ggplot 使用整齐的长数据框,并将组(如 a、b 或 c)保存为单独的列。在您的示例中,您可以创建一个包含 1110 行 (10 + 100 + 1000) 和两列(值和组)的数据框,如下所示:

# Make individual data frames
a <- data.frame(group = "a", value = rnorm(10))
b <- data.frame(group = "b", value = rnorm(100))
c <- data.frame(group = "c", value = rnorm(1000))

# Combine into one long data frame
plot.data <- rbind(a, b, c)

# group value
# 1 a 0.2322682
# 2 a -0.9681992
# ...
# 101 b 0.3422354
# 102 b 0.3495342
# ...
# 1001 c -0.6839231
# 1002 c -1.4329843

# Plot
library(ggplot2)
ggplot(plot.data, aes(x=group, y=value, fill=group)) + geom_boxplot()

Example boxplot

关于r - ggplot2 - 来自不同长度来源的多个箱线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26918358/

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