gpt4 book ai didi

r - 以简洁的方式显示几个代码块

转载 作者:行者123 更新时间:2023-12-03 16:26:20 24 4
gpt4 key购买 nike

我正在用 blogdown 创建一个博客在其中我比较了 R 的代码和 Stata 的代码。我想显示这两个代码,以便用户可以比较它在 R 和 Stata 中是如何完成的。然而,将两个或更多 block 放在一行中(R 代码,Stata + 输出代码)会使阅读变得非常不舒服。

我想到了几个布局来包含几个 block ,但我不知道它们是否已经实现,或者是否有可能这样做。

有一个按钮来显示/隐藏区 block (每个区 block 一个按钮)

一个想法是:

  • 文章中默认可见的 R 代码块
  • Stata 代码块默认不可见,但如果用户单击按钮
  • 则可见

    This personthis person成功地在 blogdown 中折叠了他们的代码块,但显然它默认隐藏或显示每个 block 。默认情况下如何只隐藏一些 block ?是否有选项(如选项 evalecho ...)隐藏或显示 blogdown 中的代码块?

    带有“标签”的 block

    这部分的标题不言自明:是否可以在一个 block 中包含选项卡,以便我们可以从一个代码切换到另一个代码(就像 Web 浏览器中的选项卡一样)?

    并排显示两个 block

    在一些 blogdown主题(也许全部,我不知道),宽度大大减少,侧面有一些未使用的空间。因此,是否可以增加文章某些部分的宽度并并排显示两个 block ?

    任何想法是否可以在 blogdown 中实现这些布局之一?

    最佳答案

    由于我之前的答案有点困惑而且不是很详细,所以我做了一个新的答案,这对我想做的事情很好(即有可能折叠一些代码块)。

    解决方案是使用 Jonathan Sidi 的 details包,正如 this answer 所指出的那样.最初,这个包的目的是隐藏一些占用大量空间的输出,例如 sessionInfo ,在使用 R Markdown 制作的 HTML 文档中(因此也使用 R Blogdown)。这是一个示例(取自包的网站):

    ---
    title: "Test"
    output: html_document
    ---

    ```{r}
    library(details)

    sessioninfo::session_info()%>%
    details::details(summary = 'current session info')
    ```

    但是,我要隐藏的不是某些 R 代码的输出,而是一个 Stata 代码(不是要运行的),以便读者可以根据需要将 R 代码与 Stata 代码进行比较。因此,我们必须使用一些 HTML 来做到这一点:
    ---
    title: "Test"
    output: html_document
    ---

    ## Regression with R and Stata

    ```{r, eval=FALSE}
    lm(mpg ~ drat, data = mtcars)
    ```

    <details>
    <summary> Stata </summary>
    ```stata
    regress y x
    ```
    </details>

    现在,读者可以根据需要查看 Stata 代码,而不想看到的人不会被太多代码块分心。这也适用于 Blogdown 文章(因为它“只是”网站上的一些 R Markdown)。

    更多功能(例如 customize the hidden chunks)在软件包的网站上有详细说明。

    关于r - 以简洁的方式显示几个代码块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59511268/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com