gpt4 book ai didi

r - traceback() 返回在 source() 期间发生的错误的无用信息

转载 作者:行者123 更新时间:2023-12-02 01:52:11 26 4
gpt4 key购买 nike

令我惊讶的是,当我获取文件时,很难在 R 中准确找到错误发生的位置。例如:

> source('Data-Generation.R')
... # some output here
Error in as.matrix(X) %*% coefs[ix_X] : non-conformable arguments

至少在这种情况下,我可以通过搜索找到它的位置,因为我的代码中只有一次 as.matrix(X) %*% coefs[ix_X]。无论如何,如果我尝试使用 traceback() 查明它发生的位置:

> traceback()
4: eval(expr, envir, enclos)
3: eval(ei, envir)
2: withVisible(eval(ei, envir))
1: source("Data-Generation.R")

这是无用的信息。

我做错了什么吗?

已编辑:我正在寻找一种解决方案,它会产生一条 Python 会产生的消息:

$ python .\test.py

1
Traceback (most recent call last):
File ".\test.py", line 5, in <module>
1/0
ZeroDivisionError: integer division or modulo by zero

最佳答案

设置echo = TRUE:

source(textConnection("i <- 1
y*x
3+4"), echo=TRUE)
#> i <- 1
#
#> y*x
#Error in eval(expr, envir, enclos) : object 'y' not found

verbose = TRUE 也可能有用:

source(textConnection("i <- 1
y*x
3+4"), verbose=TRUE)
#'envir' chosen:<environment: R_GlobalEnv>
#--> parsed 3 expressions; now eval(.)ing them:
#
#>>>> eval(expression_nr. 1 )
# =================
#
#> i <- 1
#curr.fun: symbol <-
# .. after ‘expression(i <- 1)’
#
#>>>> eval(expression_nr. 2 )
# =================
#
#> y*x
#Error in eval(expr, envir, enclos) : object 'y' not found

关于r - traceback() 返回在 source() 期间发生的错误的无用信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22151552/

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