R 包函数中的stop()不';t端调试模式

R 包函数中的stop()不';t端调试模式,r,R,我使用RStudio创建了一个非常简单的包来演示我的问题,步骤如下 创建只有一个函数的包 控制台中的结果: tempPackage::write(1) [1] 1 tempPackage::write(1)中出错:文本不能是数字。 从以下位置调用:tempPackage::write(1) 浏览[1]> 问题 5a)我不想看到“调用自:tempPackage::write(1)”。 5b)更重要的是,我不想以“Browse[1]>”结束,这意味着调试模式仍然处于打开状态(也可以看到“Conti

我使用RStudio创建了一个非常简单的包来演示我的问题,步骤如下

  • 创建只有一个函数的包
  • 控制台中的结果:

    tempPackage::write(1)
    [1] 1
    tempPackage::write(1)中出错:文本不能是数字。
    从以下位置调用:tempPackage::write(1)
    浏览[1]>

  • 问题
    5a)我不想看到“调用自:tempPackage::write(1)”。
    5b)更重要的是,我不想以“Browse[1]>”结束,这意味着调试模式仍然处于打开状态(也可以看到“Continue”和“Stop”等按钮),因此现在我需要单击“Continue”按钮来完成调试模式,以“>”结束,但我不想在运行那一行代码时单击“Continue”按钮来结束此调试模式“tempPackage::write(1)”我想在控制台中以完成调试模式查看结果

  • 其他信息:

    • 当我在同一个R脚本(不是从包中调用)中直接使用这个stop-in函数时,它的工作方式与我想要的一样
    • 使用以下方法的解决方案对以前的问题也没有帮助

    opt我完全按照你的指示做了,我看到了预期的结果:

    pckgname::write(1)
    [1] 1
    Error in pckgname::write(1) : Text cannot be numeric.
    
    我不确定你试用时出了什么问题,但我建议你启动一个新的软件包,以防出现问题。你甚至可以尝试重新安装R和RStudio,因为它第一次对我有效,我想不出为什么对其他人无效

    作为参考,以下就是我所做的:

    • 我从RStudio->File->New Project->New Directory->New package启动了这个包

    • 我唯一更改的文件是
      hello.R
      ——我在您的问题中添加了与原样完全相同的代码

    • 我用RStudio->Build->buildfromsource构建了这个包

    • 然后用
      install.packages(“../pckgname_0.1.0.tar.gz”,repos=NULL,type=“source”)安装它。

    • 并加载了
      库(pckgname)


    您好stevec,谢谢,您的步骤和我的步骤之间的唯一区别在于安装方式。当我使用以前构建的源程序包(.tar.gz文件)安装它时正如你所做的,它按照我的期望工作。我不明白为什么这两种包安装方式之间会有如此大的差异。如果你有任何想法,请你提出建议好吗?@LearnUseZone我不确定哪里出了问题,但并非只有你一个人从源代码处发现包安装有点棘手。我大约每月查找一次,j我总是使用这种方法(除非直接从CRAN安装),所以我没有任何尝试其他方法的经验
        pckgname::write(1)
    
        opt <- base::options(show.error.messages = F)
        on.exit(base::options(opt))
    
    pckgname::write(1)
    [1] 1
    Error in pckgname::write(1) : Text cannot be numeric.