使用. R脚本上的knitr::spin()有条件地显示.html上的节

mgdq6dx1  于 2023-06-19  发布在  其他
关注(0)|答案(1)|浏览(105)

我正在对一个.R脚本文件使用knitr::spin()呈现一个.html文件,我想有条件地显示它的.html输出文件中的部分。我有一些例子代码下面我有什么到目前为止。

#'
#/*****************************************************************************/
#' **SECTION 0:** Some stuff here
#/*****************************************************************************/

# /*
x <- 2
# */

#'
#/*****************************************************************************/
#' **SECTION 1:** Other stuff here
#/*****************************************************************************/

# /*
y <- 5
# */

if(x==2 & y==1){
  
  #'
  #/*****************************************************************************/
  #' **SECTION 3:** Scenario 1
  #/*****************************************************************************/
  
} else if(x==2 & y==5){
  
  #'
  #/*****************************************************************************/
  #' **SECTION 3:** Scenario 2
  #/*****************************************************************************/
  
}

# /*
knitr::spin("spin_test.R", knit = TRUE)
# */

我如何修改上面的脚本,使spin_test.html的输出看起来像这样:

SECTION 0: Some stuff here

SECTION 1: Other stuff here

SECTION 3: Scenario 2

到目前为止,我的当前输出如下所示:

SECTION 0: Some stuff here

SECTION 1: Other stuff here
if(x==2 & y==1){
  
  #'
  #' **SECTION 3:** Scenario 1
  
} else if(x==2 & y==5){
  
  #'
  #' **SECTION 3:** Scenario 2
  
}
NULL

我的目标是通过在.R脚本上单独使用knitr:spin(),在.html输出中获得适当的条件部分。任何建议或帮助将不胜感激。

mwngjboj

mwngjboj1#

我能够得到所需的输出后here .所有的信用来自Posit社区的用户MattP。

#'
#/*****************************************************************************/
#' **SECTION 0:** Some stuff here
#/*****************************************************************************/

# /*
x <- 2
# */

#'
#/*****************************************************************************/
#' **SECTION 1:** Other stuff here
#/*****************************************************************************/

# /*
y <- 5
# */

#+ eval=(x==2 & y==1), echo=FALSE, results="asis"
glue::glue(sprintf("**SECTION 3:** Scenario 1: x=%s and y=%s",x,y)) %>%
  cat()

#+ eval=(x==2 & y==5), echo=FALSE, results="asis"
glue::glue(sprintf("**SECTION 3:** Scenario 2: x=%s and y=%s",x,y)) %>%
  cat()

# /*
knitr::spin("spin_test.R", knit = TRUE)
# */

相关问题