绘制具有结的自然三次样条时出错

时间:2017-07-22 11:52:55

标签: r spline

library(splines)
set.seed(3)
x <- rnorm(100)
plot(x)
lines(ns(x))

这很好用,但如果我尝试添加特定的结,即

lines(ns(x, knots = c(1, 2, 3, 50)))

运行上面的代码会出现以下错误:

Error in qr.default(t(const)) : 
  NA/NaN/Inf in foreign function call (arg 1)

编辑:

根据彼得的建议,50的结是很大的,所以我将代码修改为:

> lines(ns(x, knots = sort(x, decreasing = TRUE)[1:10]))
Error in qr.default(t(const)) : 
      NA/NaN/Inf in foreign function call (arg 1)

现在我想在x的10个最高值处放置10节。但我还是收到错误?那是为什么?

1 个答案:

答案 0 :(得分:1)

50太大了。 x是平均值为0和sd 1的法线。因此,例如

lines(ns(x, knots = c(1, 1.5)))

工作正常。 (一个无用的R错误消息的另一个例子)。