gpt4 book ai didi

r - 在使用稍后定义的变量的 knitr 报告顶部创建摘要

转载 作者:行者123 更新时间:2023-12-03 23:42:49 26 4
gpt4 key购买 nike

在代码本身计算这些值之前,是否有一种标准方法可以在编写的 knitr 报告中尽早包含来自变量的计算值?目的是在报告顶部创建执行摘要。

例如,像这样的事情,其中​​ variable1 和 variable2 直到以后才定义:

---
title: "Untitled"
output: html_document
---

# Summary
The values from the analysis are `r variable1` and `r variable2`

## Section 1

In this section we compute some values. We find that the value of variable 1 is `r variable1`

```{r first code block}
variable1 <- cars[4, 2]
```

## Section 2

In this section we compute some more values. In this section we compute some values. We find that the value of variable 2 is `r variable2`

```{r second code block}
variable2 <- cars[5, 2]
```

最佳答案

一个简单的解决方案是简单地 knit()该文件两次来自新的 Rgui session 。

第一次通过时,内联 R 代码会触发一些关于找不到变量的提示,但是块将被评估,并且它们返回的变量将留在全局工作区中。第二次,内联 R 代码将找到这些变量并替换它们的值,而不会提示:

knit("eg.Rmd")
knit2html("eg.Rmd")

## RStudio users will need to explicitly set knit's environment, like so:
# knit("eg.Rmd", envir=.GlobalEnv)
# knit2html("eg.Rmd", envir=.GlobalEnv)

enter image description here

注 1:在这个答案的早期版本中,我曾建议做 knit(purl("eg.Rmd")); knit2html("eg.Rmd") .这具有第一次不运行内联 R 代码的(次要)优势,但具有错过 的(潜在主要)劣势。针织 缓存能力。

注 2(适用于 Rstudio 用户): RStudio 需要明确的 envir=.GlobalEnv因为, as documented here ,它默认运行 knit()在单独的进程和环境中。它的默认行为旨在避免接触全局环境中的任何内容,这意味着第一次运行不会将所需的变量留在第二次运行可以找到的任何地方。

关于r - 在使用稍后定义的变量的 knitr 报告顶部创建摘要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23570718/

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