将R中的一个术语替换为术语列表,以便我可以创建重复绘图函数R.

时间:2017-10-12 10:43:45

标签: r

我正在尝试在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")

2 个答案:

答案 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)