gpt4 book ai didi

r - R 中的交互式调试

转载 作者:行者123 更新时间:2023-12-05 07:37:30 25 4
gpt4 key购买 nike

我有一个玩具 R 脚本 (test.R),如下所示:

myString <- "Hello World"
browser()
print(myString)

我想交互式地调试脚本,因此调用了“browser()”。

但是,当我这样运行脚本时:

Rscript test.R

我刚看到:

Called from: top level 
[1] "Hello World"

即'browser()' 调用似乎被跳过了。当我像这样运行脚本时:

R -f test.R

我明白了:

>
> myString <- "Hello World"
> browser()
Called from: top level
Browse[1]> print (myString)
[1] "Hello World"
Browse[1]>
>

但是,执行不会在“浏览 [1]>”处停止以允许我进行调试。

我在这里错过了什么?在 python 中,我可以插入“import pdb; pdb.set_trace()”来调试。我在 R 中寻找类似的东西。

最佳答案

See this了解如何使用 browser()。您将能够在终端的 R 交互环境中source('scriptname.R') 脚本(通过运行 R 而不是 Rscript scriptname.R) 然后 browser() 的行为与 import pdb; 非常相似; pdb.set_trace() 。一个主要的警告是参数 - 您可以手动配置它以使用您将在命令行上提供的参数,方法是使用 say if(interactive()) (或者可能有其他方法可以实现此目的) .

关于r - R 中的交互式调试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48553185/

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