我正在拟合一个自然样条模型,我得到下面的错误。你能帮我理解并解决下面的错误吗?
Error in double(nx * ncoef) : vector size cannot be NA
In addition: Warning message:
In nx * ncoef : NAs produced by integer overflow
不幸的是,我无法上传数据集,遗憾的是,您无法复制我的代码。相反,我会尝试尽可能多地解释我的代码:
以下是我运行以符合自然样条拟合的代码:
fit.temp <- lm(y ~ ns(x,knots = seq(1, nrow(data), by = 10)),data = data)
在我的数据集中,x是从1到数据中行数为424742的序列。
我知道这个问题在某种程度上是一个模糊的问题,但是在花了很多精力之后,我没有任何运气来弄清楚这个错误是什么以及如何解决它。
非常感谢,
答案 0 :(得分:1)
在代码中的某处,它试图将两个整数相乘,但结果大于可以存储在您的机器上的最大整数(.Machine$integer.max
)。
如果不深入研究代码,您的输入必须对此工具来说太大。通过将data
参数增加到by
,可以使用较小的seq
或更少的结。大致(nrow(data)^2 / .Machine$integer.max
应该给出by
应该有多大的下限。