Rf_error 和 Rf_warning 定义

标签 r

我在哪里可以找到这两个函数的定义。搜索他们的名字只会带来声明,但我在源代码中找不到它们的实现。

最佳答案

大概您正在寻找 C 代码函数定义。在查找定义时,我通常会在所有文件中搜索函数名称,但不带 Rf_ 但带有返回类型。例如,对于 Rf_error ,我会搜索 void error 。在这种情况下,您很快就会得到(来自 src/main/errors.c@758,对于 R 版本 3.2.2):

void error(const char *format, ...)
{
    char buf[BUFSIZE];
    RCNTXT *c = R_GlobalContext;

    va_list(ap);
    va_start(ap, format);
    Rvsnprintf(buf, min(BUFSIZE, R_WarnLength), format, ap);
    va_end(ap);
    /* This can be called before R_GlobalContext is defined, so... */
    /* If profiling is on, this can be a CTXT_BUILTIN */
    if (c && (c->callflag & CTXT_BUILTIN)) c = c->nextcontext;
    errorcall(c ? c->call : R_NilValue, "%s", buf);
}
Rf_warning 在同一文件的第 262 行定义。

关于Rf_error 和 Rf_warning 定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33861905/

相关文章:

r - 在 R 包中定义组通用函数

r - 使用 R 中另一个矩阵的列对矩阵进行子集

r - dplyr 中字符串的新列

引用对象元素

r - 绘制椭圆边界点的百分比

r - 如何使用 gganimate 为分组的条形图设置动画?

r - 按所有变量计数/计数与 dplyr 不同

r - 如何按给定列中的值汇总 R 数据集?

r - 查找矩阵之间的公共(public)值并返回具有行列位置的矩阵

r - R : Function returns both error and warning - store both with tryCatch()