gpt4 book ai didi

r - 从命令行调试 RMarkdown 文件

转载 作者:行者123 更新时间:2023-12-05 03:01:04 25 4
gpt4 key购买 nike

我正在尝试使用其他人编写的 Rmarkdown 文件并使用命令行(不是 RStudio)运行它

Rscript -e 'library(rmarkdown); rmarkdown::render("input.Rmd")'

在处理每个 block 时,执行会继续将类似这样的内容打印到我的控制台:

label: readDataFiles (with options) 
List of 1
$ error: logi TRUE

|.............. | 22%
ordinary text without R code

但是, block 失败并且执行停止。我相信这是因为传递给函数的路径无效。所以我尝试添加一个新 block 来显示此路径的值到我的控制台:

``` {r thePath, eval=True}
path
```

但是我只看到了输出

label: thePath (with options) 
List of 1
$ eval: logi TRUE

path 变量的值是不可见的。而且我没有拿出一个 HTML 文件来查看,因为整个编织过程失败了。如何在我的控制台中对此进行调试?

我试过了 this answer没有成功。

最佳答案

您可以使用 stop(path) 来终止编译,并显示一条显示路径的错误消息。例如,将其放入您的 .Rmd 文件中:

```{r}
path <- "c:/wrong/path"
stop("path=",path)
```

这是我在命令行上运行这个文件时看到的:

label: unnamed-chunk-1
Quitting from lines 19-21 (untitled.Rmd)
Error in eval(expr, envir, enclos) : path=c:/wrong/path
Calls: <Anonymous> ... handle -> withCallingHandlers -> withVisible -> eval -> eval

Execution halted

只要您将它放在导致编译失败的实际错误之前的文件中,您就会看到它。

编辑添加:您也可以为此使用 warning()message()(如@sindri_baldur 所述),但对于那些您需要更改 block 默认为 warning=FALSEmessage=FALSE,因此消息会转到 stderr 并显示在控制台中。

关于r - 从命令行调试 RMarkdown 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56190446/

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