Debugging R缺少其他语言所没有的调试工具是什么?

Debugging R缺少其他语言所没有的调试工具是什么?,debugging,r,Debugging,R,我熟悉browser(),trace(),traceback(),以及选项(error=recover)。我还在玩调试包,它看起来很不错。所有这些使R英里数在调试工具方面领先于我使用过的其他统计软件包。但与编译的传统语言相比,这种情况似乎不太有利。这引发了两个问题: 在其他语言中,您最怀念的调试工具是什么 是否可以在R中添加当前存在的功能,或者它需要编译器等 编辑:删除了我建议的条目,因为正如所指出的,它确实存在于R中。恐怕您在R中缺少了一些选项。您应该查看函数Rprof()和summaryRp

我熟悉
browser()
trace()
traceback()
,以及
选项(error=recover)
。我还在玩调试包,它看起来很不错。所有这些使R英里数在调试工具方面领先于我使用过的其他统计软件包。但与编译的传统语言相比,这种情况似乎不太有利。这引发了两个问题:

  • 在其他语言中,您最怀念的调试工具是什么

  • 是否可以在R中添加当前存在的功能,或者它需要编译器等


  • 编辑:删除了我建议的条目,因为正如所指出的,它确实存在于R中。

    恐怕您在R中缺少了一些选项。您应该查看函数
    Rprof()
    summaryRprof()
    ,以深入分析代码。除此之外,还可以查看关于以下内容的讨论:

    尤其是谢恩的回答。这有一些更有趣的提示。手册中还有一整章是关于调试的

    最后,请记住,相当多的“编译的传统语言”调试工具是在IDE中实现的,而不是在语言本身中实现的。由于R可以与Eclipse和Emacs结合使用,所以所有这些调试工具也都可以用于R


    改写

    我喜欢R。但这并不意味着它绝对完美。我的问题肯定包括您所指的在IDE中实现的工具,因为我从未见过这样的工具在R的IDE中实现(并不意味着它不存在)。我最喜欢的是R调试技巧线程。但你会注意到,我在问题中提到了这些函数的大部分。我的问题很简单:我不知道有什么可以补充的?感谢您指出()的错误。我已经从这个线程中学到了一些东西。@gsk3:R可以与包含一整套调试工具的Eclipse完美结合。R可以与Emacs一起使用,Emacs是上帝在你手指上的力量。那么到底是什么问题呢?请先做些研究。这个问题应该重新讨论。首先,这个问题可以客观地提出和回答。在伪R表示法中,它类似于询问
    setdiff(union(语言中的调试函数)!R),union(语言中的调试函数)
    。第二,虽然分析和调试是不同的,但它们是非常相关的。行分析器缺少一个行分析器,它使用其他几种解释语言。第三,一定是统计学以外的人创造了“统计档案器”这个词。只要稍加努力,R就可以在统计分析的质量上立于不败之地第四,虽然没有证据并不能证明没有证据,但我知道在
    codetools
    中有一些类似lint的工具,但举例来说,Matlab通过查找循环内部增长的数组来扩展这一点。最后,有一个开放的问题会有所帮助,因为如果有人错误地断言功能X不存在,这个错误可以被发现,并且用户(和其他人)可以知道在哪里可以找到它。结束这样一个问题没有任何好处。无论如何,建议用户查看Luke Tierney、Romain Francois、Philippe Grosjean和Hadley Wickham的作品,以获得大量用于调试和分析的工具。卢克·蒂尔尼(Luke Tierney)在评测、编译等方面的工作尤其引人注目;下面是一个页面,其中包含Matlab代码检查器的输出示例:。这包括对可能比给定函数更快的函数的建议
    seq_沿
    可能是R的类似物之一。