Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在xaringan中的单个块中解耦代码和输出?_R_Knitr_Xaringan - Fatal编程技术网

如何在xaringan中的单个块中解耦代码和输出?

如何在xaringan中的单个块中解耦代码和输出?,r,knitr,xaringan,R,Knitr,Xaringan,每当我在xaringan中组装幻灯片时,我发现自己经常这样做: ```{r addition, eval = FALSE} 2 + 3 在继续进行并展示结果之前,这允许学生花一点时间讨论编码并询问他们期望它给出什么 长期以来,我一直很恼火这是如何混淆了源代码的,所以我开始考虑是否有更好的解决方案。我想知道是否有人对: 如果目前有更好的方法来实现这一点 如果有新的方法可以很容易地实现 从功能的角度来看,一种方法是创建一个progressive.evalknitr块选项,该选项可以切换到TRUE,

每当我在
xaringan
中组装幻灯片时,我发现自己经常这样做:

```{r addition, eval = FALSE}
2 + 3
在继续进行并展示结果之前,这允许学生花一点时间讨论编码并询问他们期望它给出什么

长期以来,我一直很恼火这是如何混淆了源代码的,所以我开始考虑是否有更好的解决方案。我想知道是否有人对:

  • 如果目前有更好的方法来实现这一点
  • 如果有新的方法可以很容易地实现
  • 从功能的角度来看,一种方法是创建一个
    progressive.eval
    knitr
    块选项,该选项可以切换到
    TRUE
    ,这样它将获得一个R块,根据打印/打印语句将其拆分,然后将其拆分为回显块和评估块。另一种更通用的方法是执行类似于
    knitr::fig_chunk()
    的操作,从块中捕获任何打印/打印输出,并自动标记它们
    -out-1
    -out-2
    ,等等,然后将它们放在文档的其他位置。基本上是对任何块的软引用


    这似乎是一种明智的做法吗?如果我自己尝试实现这一点,是否有人有一个指针指示从何处开始?

    您可能可以重新定义knitr的
    输出
    挂钩,并在文本输出之前添加
    --
    。关于knitr钩子的更多信息:谢谢你的指针-我会通读一遍,并尝试修补一下。听起来不错。如果你能找到答案,请随时回答你自己的问题。
    --
    ```{r addition-out, ref.label = "addition", echo = FALSE}