用术语列表替换R中的一个术语,这样我就可以创建一个重复的绘图函数R

用术语列表替换R中的一个术语,这样我就可以创建一个重复的绘图函数R,r,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)) + g

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

cul7\u ind您能否以以下方式仅使用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"
的绘图列表(绘图列表中的当前绘图){ +打印(粘贴(currplot,“表达式图”)) + } [1] “CUL7表达图” [1] “CUL8表达图” [1] “FANCE表达式图”

这不是一个完整的示例,但您可以很容易地适应自己的目的。

您是否可以按以下方式使用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"
的绘图列表(绘图列表中的当前绘图){ +打印(粘贴(currplot,“表达式图”)) + } [1] “CUL7表达图” [1] “CUL8表达图” [1] “FANCE表达式图” 这不是一个完整的例子,但你可以很容易地适应自己的目的。

像这样的事情

# 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)
#加载库
图书馆(GG2)
图书馆(dplyr)
#我的物品清单
MyList类似这样的东西

# 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)
#加载库
图书馆(GG2)
图书馆(dplyr)
#我的物品清单

我的列表是否要循环?如果只有三个打印,为什么不使用复制粘贴加搜索替换?如果三个对象已经在列表中,只需使用
lappy
在列表元素上重复打印操作即可。它将返回一个打印对象列表,您可以打印、保存或其他任何内容。是否要循环?如果只有三个打印,为什么不使用复制粘贴加搜索替换?如果三个对象已经在列表中,只需使用
lappy
在列表元素上重复打印操作即可。它将返回一个打印对象列表,您可以打印或保存这些对象。