簡體   English   中英

如何在 for 循環中將字符列表中的字符作為字符串引用

[英]How can I reference a character within my list of characters as a string in a for-loop

我有幾個字符列表,以及這些字符列表的列表。

C1 <- c('a', 'b', 'c')
C2 <- c('d', 'e', 'f')
C3 <- c('g', 'h', 'i')

char_list <- list(C1, C2, C3)

在我的嵌套 for 循環中,我試圖將每個生成的 FeaturePlot 導出為

“C1_a”、“C1_b”、“C1_c”、“C2_a”、“C2_b”、“C2_c”等...

for(c in char_list){
  for(g in c){
    png(paste0(c, '_', g, ".png"))
    plot(FeaturePlot(object = MG_Subset1, reduction = "umap", label = TRUE, min.cutoff = 0, features = g))
    dev.off()
  }
}

我最終得到的是“a_a”、“a_b”、“a_c”、“d_d”、“d_e”、“d_e”等......

誰能告訴我如何在不破壞 for 循環的情況下將我的 char_list 內容引用為字符串,以便我可以調整下面的行以將 c 引用為“C1”或“C2”?

png(paste0(c, '_', g, ".png"))

太感謝了。

在這里,我們可能需要創建一個命名list 可以通過在=的 lhs 上指定名稱或使用mget根據對象名稱模式提取對象的值來完成

char_list <- list(C1 = C1, C2 = C2, C3 = C3)
#char_list <- mget(ls(pattern = "^C\\d+$"))

然后遍歷列表的序列或列表的名稱,然后提取列表元素

 for(i in seq_along(char_list)) {
   c <- char_list[[i]]
   nm <- names(char_list[i])
   for(g in c) {
    png(paste0(nm, '_', g, ".png"))
   plot(FeaturePlot(object = MG_Subset1, reduction = "umap", label = TRUE, min.cutoff = 0, features = g))
   dev.off()
   }
 
 } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM