[英]Multiple boxplots in R while grouping a matrix both by columns and rows
我很難弄清楚如何在R中按列和行對數據框/矩陣進行分組時如何制作一個包含多個盒形圖的圖形。
我在R中有一個數據行,其中有10行500列。 列分為2組(因數-1和2),現在我想有一個單一的圖形,其中包含我要根據列組進行數據框每一行的兩個箱形圖。
例如
M1 N2 O1 P2 Q1 R2 # [The 1's and 2's refer to my two column groups]
A 10 11 12 13 14 15
B 15 14 13 12 11 10
C 20 21 22 23 24 25
D 25 24 23 22 21 20
因此,對於上面的示例,我希望每行有一個帶有“ 4個箱形圖對”的圖形,這樣每個箱形圖對將代表對應於我列的1和2因子的值。
提前致謝 !!!
這里使用reshape2
想法。 由於您的列多於行,因此自然需要進行轉置。
library(ggplot2)
library(reshape2)
dt <- read.table(text='
M1 N2 O1 P2 Q1 R2
A 10 11 12 13 14 15
B 15 14 13 12 11 10
C 20 21 22 23 24 25
D 25 24 23 22 21 20',header=TRUE)
dt.m <- melt(t(dt))
dt.m$Var1 <- gsub('[A-Z]','',dt.m$Var1)
這里有兩個選項可以繪制:
library(ggplot2)
library(gridExtra)
p1 <- ggplot(dt.m) +
geom_boxplot(aes(x=Var2,y=value,fill=Var1))
p2 <- ggplot(dt.m) +
geom_boxplot(aes(x=Var2,y=value,fill=Var2))+
facet_grid(~Var1)
grid.arrange(p1,p2)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.