gpt4 book ai didi

r - 为什么 `ns(0.8)` 或 `ns(c(0.8))` 返回 `NA/NaN/Inf in foreign function call (arg 1)` ?

转载 作者:行者123 更新时间:2023-12-02 07:14:36 27 4
gpt4 key购买 nike

为什么ns(0.8)ns(c(0.8))返回NA/NaN/Inf in foreign function call (arg 1)

ns(c(0.8, 1.0))工作正常,但我想知道为什么只给 ns 赋予 1 值导致NA/NaN/Inf in foreign function call (arg 1) .

示例:

> library(splines)
> ns(0.8)
Error in qr.default(t(const)) :
NA/NaN/Inf in foreign function call (arg 1)


> ns(c(0.8, 1.0))
1
[1,] 0.0000000
[2,] 0.8017837
attr(,"degree")
[1] 3
attr(,"knots")
numeric(0)
attr(,"Boundary.knots")
[1] 0.8 1.0
attr(,"intercept")
[1] FALSE
attr(,"class")
[1] "ns" "basis" "matrix"

最佳答案

编辑:在用户发表评论后,我意识到我的回答无关紧要。不过,我暂时不会删除它,因为我向 R-Core 团队发送了电子邮件,询问文档中的(非常真实的)差异,并在电子邮件中引用了这篇文章。

<小时/>

ns() 函数的文档中关于第二个参数 df 的内容存在差异:

degrees of freedom. One can supply df rather than knots; ns() then chooses df - 1 - intercept knots at suitably chosen quantiles of x (which will ignore missing values). The default, df = 1, corresponds to no knots.

实际的默认值不是 1,而是 NULL,正如我们在用法部分中看到的:

ns(x, df = NULL, knots = NULL, intercept = FALSE, Boundary.knots = range(x))

关于r - 为什么 `ns(0.8)` 或 `ns(c(0.8))` 返回 `NA/NaN/Inf in foreign function call (arg 1)` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45123675/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com