使用循环在R markdown中显示表

6ojccjat  于 2023-03-27  发布在  其他
关注(0)|答案(1)|浏览(107)

我尝试使用for循环在R markdown中显示多个 Dataframe 。我将 Dataframe 命名为模式,例如CP_DD_comb1,BK_DD_comb1等。我尝试了这个东西:

for (i in c("CP","BK","IT","WP")){
  for(j in c("DD","SI")){
    data <- get(paste0(i,"_",j,"_comb1"))
    print(data)
  }
}

但这不管用
如何显示这些表?
多谢帮忙

rqenqsqc

rqenqsqc1#

您可以使用chunk选项code来构造块的代码:

```{r, code = apply(expand.grid(c("CP","BK","IT","WP"), c("DD","SI")), 1, function(x) sprintf("%s_%s_comb1", x[1], x[2]))}

代码有点长,但如果你把它分解一下,应该不难理解:
一个一个一个一个一个x一个一个二个一个x一个一个三个一个x一个一个x一个四个一个
那么上面的代码块就相当于:
CP_DD_comb1
BK_DD_comb1
IT_DD_comb1
WP_DD_comb1
CP_SI_comb1
BK_SI_comb1
IT_SI_comb1
WP_SI_comb1

您不需要`for`-loops或`get()`或`print()`。
如果你确信`*_*_comb1`模式可以识别所有你想要的对象,这里有一个简单得多的解决方案:

如果你想更严格:

相关问题