【发布时间】:2017-11-28 02:23:32
【问题描述】:
虽然我查看了其他讨论类似错误的帖子,但它们与我当前的问题不符。
我目前正在运行一个包含如下代码的模拟:
g <- add_edges(g, c(sample(V(g)[V(g)$d == 1], 1), sample(V(g)[V(g)$a == 0], 1)))
但是,每当我运行此代码时,我总是会遇到问题。我总是收到一条错误消息:
Error in sample.int(length(x), size, replace, prob) : invalid first argument
并且可能由于第一个错误,我的数据框不包含任何值我在这段代码中做错了什么,因为我确定我在这段代码中的任何时候都没有使用 sample.int?我假设问题源于这段代码,因为这是我使用代码 sample() 的唯一一点,删除它也会导致错误停止。
【问题讨论】:
-
这远远超出了必要的信息。您是否通过逐行和逐个案例逐步执行代码来确定错误发生在哪里?如果没有,我会从那里开始。您可能会发现没有人会为您调试大型脚本而烦恼。
-
我已将错误识别为一行代码,该代码在整个代码中出现 3 次,每次迭代运行一次,并相应地更改了我的初始帖子。
-
我猜,我认为问题出在
sample()调用之一,它派发到sample.int。由于您有一个“无效的第一个参数”错误,我建议您查看V(g)[V(g)$d == 1]和V(g)[V(g)$a == 0]的结果,看看其中任何一个是否没有返回任何内容。即,我可以通过执行sample(integer(0),10)来复制错误 -
它们都返回各自的节点。
-
我相信在我的案例中这个错误的原因与包“tidyverse”有关。一旦我删除它,错误就会停止出现。