调试 R 中的意外错误——如何找到错误发生的位置?

2023-12-28

有时 R 会抛出错误,例如

if (ncol(x) != 2) { 中的错误:参数长度为零

当我没有编写这样的代码时,没有附加信息。是否有通用方法可以查找哪个包中的哪个函数导致错误?

由于大多数包都是压缩的,因此 grep 并不简单/usr/lib/R/library.


您可以使用traceback()定位最后发生错误的位置。通常它会指向您在函数中进行的调用。然后我通常把browser()然后,再次运行该函数,看看出了什么问题。

例如,这里有两个函数:

f2 <- function(x)
{
  if (x==1) "foo"
}

f <- function(x)
{
  f2(x)
}

注意f2()假设一个长度参数1。我们可以滥用f:

> f(NULL)
Error in if (x == 1) "foo" : argument is of length zero

现在我们可以使用traceback()找出问题所在:

> traceback()
2: f2(x) at #3
1: f(NULL)

这个数字意味着我们在嵌套函数中的深度。所以我们看到f calls f2这会在该行给出一个错误3。很清楚。我们可以重新分配f with browser放置在之前f2现在打电话来检查它的输入。browser()只是允许您停止执行函数并查看其环境。如同debug and debugonce只是您不必执行每一行直到您知道出现问题为止。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调试 R 中的意外错误——如何找到错误发生的位置? 的相关文章

  • 如何生成向量的所有组合[重复]

    这个问题在这里已经有答案了 假设我有 3 个绿球 2 个橙球和 8 个黄球 我想订购它们 鉴于所有相同颜色的球都是相同的 如何生成所有可能的序列 在 R 中 使用gregmisc 我可以 balls lt c orange orange g
  • R从列表中提取数据框,列名中没有前缀

    我在列表中放置了一个数据框 然后 当尝试将其提取回来时 我得到了该数据帧的所有以列表键为前缀的列名称 有没有办法完全按照最初传递的方式提取数据帧 cols lt c column1 Column2 Column3 df1 lt data f
  • Eclipse IDE - 错误:构建路径指定执行环境 Java SE 1.7

    在 Eclipse 中 我收到一个错误 构建路径指定执行环境Java SE 1 7 工作区中没有安装与此环境严格兼容的 JRE 尝试这个 In Eclipse your project gt properties gt java build
  • 用于清除工作空间和转储存储的 R 全局函数

    我希望创建一个全局函数来清除我的工作区并转储我的内存 我将我的函数称为 cleaner 并希望它执行以下代码 remove list ls gc 我尝试在全局环境中创建该函数 但是当我运行它时 控制台仅打印该函数的文本 在我要获取的函数文件
  • 使用底格里斯河从纬度/经度获取人口普查区

    我有相对较多的坐标 我想获取其人口普查区 除了 FIPS 代码 我知道我可以使用以下命令查找各个纬度 经度对call geolocator latlon 已完成here https stackoverflow com questions 5
  • 如何让R使用所有处理器?

    我有一台运行 Windows XP 的四核笔记本电脑 但查看任务管理器 R 似乎一次只使用一个处理器 如何让 R 使用全部四个处理器并加速我的 R 程序 我有一个基本系统 我使用它在 for 循环上并行化我的程序 一旦您了解需要做什么 此方
  • 将值替换为其各自列的名称

    我有一个数据框 Code 401k CVS 101A true 231N true FD54 true 99JB 85F4 true 我试图用相应的列名称 例如 401k 替换 true 字符值 这是我想要的输出 Code 401k CVS
  • 使用 R 的 flextable 包时,有没有办法将传递给 add_header_lines() 的字符串部分加粗

    我正在使用我喜欢的 flextable 包为 Word 文档创建几个表格 但是 我在将表格标题中的部分文本加粗时遇到了一些麻烦 例如 我希望标题为 Table 1 我的表格标题的其余部分 而不是 表 1 我的表格标题的其余部分 I 找到这个
  • dplyr,do(),从模型中提取参数而不丢失分组变量

    R 帮助中关于 do 的示例略有不同 by cyl lt group by mtcars cyl models lt by cyl gt do mod lm mpg disp data coefficients lt models gt d
  • 从 R 中的 HTTPS 连接逐行读取

    当创建连接时open r 它允许逐行读取 这对于批量处理大数据流非常有用 例如这个脚本 https gist github com jeroenooms d33a24958d99bb969ac0通过一次读取 100 行来解析相当大的 gzi
  • R 编程:如何计算数据框中两个单元格之间的差异并将它们保存在新列中

    尝试学习 R 并陷入自相关示例中 我想将 x 的差异与 y 的差异进行回归 我在数据框中有 x 和 y 并且希望将 x2 x1 的差值保存在新列 例如 dx 中 我不知道该怎么做 我拥有的 data1 x y 5 3 8 9 3 1 1 5
  • 将数据从 R 导出到 Excel

    我试图将从 R 获得的一些结果导出到 Excel 中 但未成功 我尝试过以下代码 write table ALBERTA1 D ALBERTA1 txt sep t write csv ALBERTA1 ALBERTA1 csv your
  • fread 将空导入为 NA

    我正在尝试导入带有空白的 csv 读取为 不幸的是他们都读作 NA now 为了更好地演示问题 我还展示了如何NA NA and 都映射到同一事物 除了最底部的示例 这将妨碍简单的解决方法dt is na dt lt gt write cs
  • 为绘图制作 2D 图例 - 双变量分区统计图

    我一直在玩双变量 choropleth 地图 并且一直在如何创建类似于 2d 图例的问题上陷入困境约书亚 史蒂文斯 http www joshuastevens net cartography make a bivariate chorop
  • glmnet 未从 cv.glmnet 收敛 lambda.min

    我跑了20倍cv glmnet套索模型以获得 lambda 的 最佳 值 但是 当我尝试重现结果时glmnet 我收到一个错误 内容如下 Warning messages 1 from glmnet Fortran code error c
  • 为什么这些数字不相等?

    下面的代码显然是错误的 有什么问题 i lt 0 1 i lt i 0 05 i 1 0 15 if i 0 15 cat i equals 0 15 else cat i does not equal 0 15 i does not eq
  • R 中的字符串作为函数参数

    数据框chocolates列出了糖果的类型以及每种糖果的一组评级 ID sweetness filling crash snickers 0 67 0 55 0 40 milky way 0 81 0 53 0 56 我正在编写一个函数 它
  • r 中的 5 维图

    我正在尝试在 R 中绘制 5 维图 我目前正在使用rgl包以 4 个维度绘制数据 使用 3 个变量作为 x y z 坐标 另一个变量作为颜色 我想知道是否可以使用这个包添加第五个变量 例如空间中点的大小或形状 这是我的数据和当前代码的示例
  • 为什么 geom_boxplot 比基本箱线图识别更多异常值?

    这是一个可重复的示例 与基本箱线图相比 最后一个治疗组又发现了一个异常值 dta lt structure list Treatment c A A A A A A A A A A A A A A A A B B B B B B B B B
  • GGPLOT2:如何在 ggplot() 脚本中绘制特定选择

    这是一个名为的大型数据集的峰值P 其中有 10 个优惠 CS 有不同的商店 SHP 具有多个数值 数据集列出了按周排序的它们 WK 2 tm 52 它创建一个大文件 仅前 6 行出现峰值 WK MND CS SHP RevCY RevLY

随机推荐

  • 单选按钮水平对齐

    如何使这两个单选按钮水平对齐 无论我如何尝试 它们都会保持垂直对齐或遍布各处 截至目前 它们是垂直对齐的 但我需要左侧的标签和右侧的转盘并靠近在一起 fieldset legend Payment Method legend div cla
  • Python Catboost:多类 F1 分数自定义指标

    如何找到多类 Catboost 分类器每个类的 F1 分数 我已经读过文档 https catboost ai docs concepts python reference catboostclassifier html和github 仓库
  • AngularJS 调用 REST 服务时回调如何工作?

    我正在学习 AngularJS 和 REST 代码示例使用这个词callback在认证功能中重复 回调 是 JavaScript 或 Angular 中的关键字吗 或者是callback只是在此代码中创建的自定义变量 如何callback在
  • 在 MVC2 中使用 FormsAuthenticationTicket cookie 自定义 IIdentity 和 IPrincipal

    我目前正在尝试在 ASP NET MVC2 Web 应用程序中实现一些自定义安全性 我正在尝试做一些非常简单的事情 如下面的代码所示 但由于某种原因 如果我使用 Authorize Roles Admins 我的控制器操作之一的属性 检查C
  • 同时构建许多类似的 Android .apk 文件?

    我有一个 Android 项目 我需要从中构建许多 apk apk 彼此之间仅在以下几个方面有所不同 Android 清单文件中有一些彼此不同的值 某些 apk 可能会排除 res 文件夹中的某些文件 不同的包名 自动构建所有这些不同的 a
  • 实体框架,代码优先。调用时子对象不会填充

    我首先要掌握 EF 代码 当我在代码中调用对象时 我的域模型设计似乎不支持自动 填充 对象的子对象 Model public class Car Key DatabaseGenerated DatabaseGeneratedOption I
  • 在 LINQ 中合并 2 个列表

    我有两个自定义对象列表 List1 Year Month ValueA List2 Year Month ValueB 我想要获得第三个列表 并将两者合并 List3 Year Month ValueA ValueB 在 LINQ VB N
  • CUDA/C - 在内核函数中使用 malloc 会产生奇怪的结果

    我是 CUDA C 的新手 也是堆栈溢出的新手 这是我的第一个问题 我试图在内核函数中动态分配内存 但结果出乎意料 我读到在内核中使用 malloc 会大大降低性能 但无论如何我都需要它 所以我首先尝试使用一个简单的int array 只是
  • React-bootstrap-typeahead labelKey 打字稿

    我有与埃里吉奥对此问题的回答中讨论的相同问题 但从未回答过 使用 Typescript 反应 AsyncTypeahead https stackoverflow com questions 56170309 react asynctype
  • 将 CSV 文件导入 SQL Server

    我正在寻求帮助以导入 csv使用以下命令将文件存入 SQL ServerBULK INSERT我有几个基本问 题 Issues CSV 文件数据可能有 逗号 之间 例如 描述 那么我怎样才能使导入处理这些数据呢 如果客户端从 Excel 创
  • 当GDB调试核心文件时,是否可以将充满二进制数据的文件加载到GDB中?

    我正在使用 GDB 和核心文件调试崩溃 很大一部分内存空间被映射到进程中 这部分内存不会保存到核心文件中 我有一个文件 其中包含该映射内存中的所有数据 我想找到一种方法将该文件中的数据加载到 GDB 的某个偏移量处 以便我可以在该地址空间内
  • MUI v5 主题与情感/mui

    我已将 MUI 从 v4 升级到 v5 但是 我现在很难理解主题如何与可用的不同主题解决方案一起使用 我不太明白在哪里使用 MUI 主题 样式组件以及何时使用情感组件 在新组件中 我使用sxprop 来应用样式 但是我有很多组件仍在使用cr
  • 如何使用 ElementTree 在 python 中复制 xml 树?

    我正在使用 xml etree ElementTree 来解析 xml 文件 我用以下方式解析 xml 文件 import xml etree ElementTree as ET tree ET parse options xmlfile
  • Asp.net MVC 标签

    我有以下内容
  • 如何计算两个日期之间的天数? [复制]

    这个问题在这里已经有答案了 我正在计算 从 日期和 到 日期之间的天数 例如 如果起始日期为 13 04 2010 截止日期为 15 04 2010 则结果应为 如何使用 JavaScript 获取结果 const oneDay 24 60
  • Python 属性可调用

    有没有办法让属性和方法同名 我的意思是可以按通常方式使用的属性and可同时调用 像这样 gt gt gt b Book gt gt gt b pages 123 gt gt gt b pages 123 gt gt gt b pages i
  • 预订系统是否适合 Amazon DynamoDB / NoSQL?

    我正在开发基本的餐厅预订系统 并正在考虑使用亚马逊动态数据库对于这个项目 话虽如此 我什至不确定是否DynamoDB适合这样的事情或者我是否应该坚持MySQL RDS因为某些查询可能非常复杂 我需要的功能 用户将提交一个 查找餐桌 表格包含
  • 将字母替换为其字母表位置

    当我开始时 这对我来说看起来相当简单 但由于某种原因 每次我尝试在 codewars 上运行结果时 我都会得到一个空数组 我希望你能帮我找出问题所在 function alphabetPosition text text split joi
  • LINQ to CRM -Where 子句中的 OR

    我正在尝试使用 LINQ 从 Dynamics CRM 2011 获取一些数据 目标是获取自特定日期以来发生更改或子实体 PERC 文件 自同一日期以来发生更改的所有联系人记录 查询看起来像这样 Bring all students who
  • 调试 R 中的意外错误——如何找到错误发生的位置?

    有时 R 会抛出错误 例如 if ncol x 2 中的错误 参数长度为零 当我没有编写这样的代码时 没有附加信息 是否有通用方法可以查找哪个包中的哪个函数导致错误 由于大多数包都是压缩的 因此 grep 并不简单 usr lib R li