按因子水平的抖动箱线图加上组合级的箱线图

八月

我有三份实验样品(F)和三份对照样品(C)。每个实验样品具有100个数据点,而每个对照具有70个数据点。对于实验数据点,有4E,5E,7E,8E等子类,而对于控制,只有一个CE类。

这是生成一些模拟数据的代码:

library(ggplot2)
set.seed(12345)
evals <- c( rep("4E",20), rep("5E",20), rep("7E",40), rep("8E",20))
subE <- c(sample(evals),sample(evals),sample(evals),rep("CE",70),rep("CE",70),rep("CE",70))
pwvr <- c(rnorm(100),rnorm(100),rnorm(100),rnorm(70,1.0),rnorm(70,1.1),rnorm(70,1.2))
expT <- c(rep("F",100*3),rep("C",70*3))
repX <- c(rep(1,100),rep(2,100),rep(3,100),rep(1,70),rep(2,70),rep(3,70))
myData.df <- data.frame(subE=as.factor(subE), pwvr = pwvr, expT= as.factor(expT), repX= as.factor(repX))
dim(myData.df)

我要做的是绘制因子级别4E,5E,7E,8E的Box和Jitter图以及这四个级别的组合值的箱图。我不知道该怎么做。我是否需要创建另一个关卡所有对应值的关卡?

其次,任何人都可以说出如何沿X轴重新组织订单的外观,例如如何绘制以下订单8E,7E,5E,4E等。

下面的代码生成各个级别的图,但是我还需要具有组合级别的框/抖动。

myGreen <- "forestgreen"
myBlue <- "dodgerblue2"
allboxCol <- c(rep(myGreen,1),rep(myBlue,1))

pw.boxplot <- ggplot(myData.df, aes(x=subE,y=pwvr, fill= expT)) +
                geom_jitter(position=position_jitter(width=.2, height=0),alpha=0.15, aes(col= expT)) + scale_color_manual(values=allboxCol) +
                geom_boxplot(outlier.shape = NA, fatten = 0.01, lwd=1.0,alpha=0.5,width=0.6) + 
                theme_bw() + theme(panel.border = element_blank(), panel.grid.major = element_blank(),
                panel.grid.minor = element_blank(), axis.line = element_line(colour = "black")) 
pw.boxplot + scale_fill_manual(values=allboxCol) + facet_grid( .~ expT + repX , scales="free", space = "free" )   

因子水平箱线图

斯塔贾

仅重复数据但分配一个新级别,这确实是一个简单的解决方案,我称之为all您可以显式指定级别的顺序:

library(ggplot2)
library(dplyr)
set.seed(12345)
evals <- c( rep("4E",20), rep("5E",20), rep("7E",40), rep("8E",20))
subE <- c(sample(evals),sample(evals),sample(evals),rep("CE",70),rep("CE",70),rep("CE",70))
pwvr <- c(rnorm(100),rnorm(100),rnorm(100),rnorm(70,1.0),rnorm(70,1.1),rnorm(70,1.2))
expT <- c(rep("F",100*3),rep("C",70*3))
repX <- c(rep(1,100),rep(2,100),rep(3,100),rep(1,70),rep(2,70),rep(3,70))
myData.df <- data.frame(subE=subE, pwvr = pwvr, expT= expT, repX= repX,
                        stringsAsFactors = FALSE)

add_data <- myData.df %>% 
  filter(subE != "CE") %>% 
  mutate(subE = "all")

myData.df <- bind_rows(myData.df, add_data)
myData.df <- myData.df %>% 
  mutate(subE = as.factor(subE),
         subE = factor(subE, levels = levels(subE)[c(4, 3, 2, 1, 5, 6)]))


myGreen <- "forestgreen"
myBlue <- "dodgerblue2"
allboxCol <- c(rep(myGreen,1),rep(myBlue,1))

pw.boxplot <- ggplot(myData.df, aes(x=subE,y=pwvr, fill= expT)) +
  geom_jitter(position=position_jitter(width=.2, height=0),alpha=0.15, aes(col= expT)) + scale_color_manual(values=allboxCol) +
  geom_boxplot(outlier.shape = NA, fatten = 0.01, lwd=1.0,alpha=0.5,width=0.6) + 
  theme_bw() + theme(panel.border = element_blank(), panel.grid.major = element_blank(),
                     panel.grid.minor = element_blank(), axis.line = element_line(colour = "black")) 
pw.boxplot + scale_fill_manual(values=allboxCol) + facet_grid( .~ expT + repX , scales="free", space = "free" )   

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章