[英]multiple boxplots grouped by two conditions
我在單個繪圖中制作多個箱形圖時遇到了麻煩......我有五個變量,三個是數字,兩個是因子。 我想要所有三個數值變量的boxplot,但是按兩個Factor變量分組......該圖有兩組,分別為Low和High,三組為MM,ND和BB。 圖例應包含MM,ND和BB的縮寫。
Group Class Sal Wal Daa
MM Low 21 34 4
ND Low 23 65 3
BB High 21 34 2
MM High 25 23 4
MM High 23 23 5
MM High 13 54 6
MM High 56 32 4
MM Low 34 13 3
ND Low 12 35 7
ND Low 34 34 2
ND Low 54 54 1
ND High 32 34 6
ND High 43 32 7
BB Low 54 13 3
BB Low 12 56 2
BB Low 45 34 6
BB High 32 32 3
BB High 13 12 2
BB High 54 12 5
如果要為每個數字變量設置一組單獨的箱圖,可以使用interaction()
函數按組和類對變量進行分組:
test.data <- data.frame(Sal=rnorm(100),
group=factor(sample(LETTERS[1:3], 100, replace=TRUE)),
class=factor(sample(c("low","high"), 100, replace=TRUE)))
boxplot(Sal ~ interaction(group,class), data=test.data)
您需要先重新排列數據:
dta <- read.table(text="Group Class Sal Wal Daa
MM Low 21 34 4
ND Low 23 65 3
BB High 21 34 2
MM High 25 23 4
MM High 23 23 5
MM High 13 54 6
MM High 56 32 4
MM Low 34 13 3
ND Low 12 35 7
ND Low 34 34 2
ND Low 54 54 1
ND High 32 34 6
ND High 43 32 7
BB Low 54 13 3
BB Low 12 56 2
BB Low 45 34 6
BB High 32 32 3
BB High 13 12 2
BB High 54 12 5", header=TRUE)
dtaLong <- stack(dta, select=cbind(Sal, Wal, Daa))
dtaLong <- data.frame(dtaLong, dta[,1:2])
現在,ind是一個新的因子,用於識別原始數據集中三個變量的值。
library(lattice)
bwplot(values~ind | Group + Class, data=dtaLong)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.