簡體   English   中英

ggplot2 - 來自不同長度的來源的多個箱圖

[英]ggplot2 - Multiple Boxplots from Sources of Different Lengths

我有一些不同長度的不同載體,我想使用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()

示例boxplot

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM