我正在尝试在R中创建一个抖动框图,并希望创建其中三个框图 - 这个列表中每个对象的一个图:CUL7,CUL8,FANCE。我想找到一种方法来重复CUL7的代码来制作CUL8的箱形图,只需切换出" CUL7"插入" CUL8",FANCE以相同的方式工作。
这是其中一个箱图的代码:
cul7_ind <- which(cnv_ge_plot[,1] == "CUL7")
ggplot(cnv_ge_plot[cul7_ind,], aes(source, fold.change)) +
geom_boxplot() +
geom_jitter() +
ggtitle("CUL7 Expression Plot")
答案 0 :(得分:1)
你能否以下列方式使用for循环:
> plotlist <- c('CUL7','CUL8','FANCE')
> for (currplot in plotlist) {
+ print(paste(currplot,"Expression Plot"))
+ }
[1] "CUL7 Expression Plot"
[1] "CUL8 Expression Plot"
[1] "FANCE Expression Plot"
这不是完整的例子,但您可以很容易地适应自己的目的。
答案 1 :(得分:1)
这样的东西?
# Load libraries
library(ggplot2)
library(dplyr)
# My list of stuff
MyList <- list("CUL7", "CUL8", "FANCE")
# My plotting function
MyPlot <- function(x){
ggplot(cnv_ge_plot %>% filter(.[1] == x), aes(source, fold.change)) +
geom_boxplot() +
geom_jitter() +
ggtitle(paste(x, "Expression Plot", sep = " "))
}
# List of gpplot2 objects
MyPlotList <- lapply(MyList, MyPlot)