【问题标题】:Error when plotting natural cubic spline with knots绘制带结的自然三次样条时出错
【发布时间】:2017-07-22 11:52:54
【问题描述】:
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)

编辑:

按照 Peter 的建议,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 个结。但是我仍然遇到错误?这是为什么呢?

【问题讨论】:

    标签: r spline


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢。当我尝试使用 lines(ns(x, knots = sort(x, decreasing = TRUE)[1:10])) 时遇到了同样的错误,即将结放置在 10 个最高值。这是为什么呢?
    猜你喜欢
    • 2021-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-25
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多