R 中的样条曲线:仅定义 df 时节点的位置

Splines in R: Location of knots when only df is defined

我已经为复杂调查定义了逻辑模型,其中变量 edadt 的样条定义了自由度,但没有定义节点的位置。 运行 之后的型号:

    > log3<-svyglm(compo ~  bs(edadt,degree=1, df = 3), dclus, family = quasibinomial)

我想知道 bs 在哪里找到结。当我输入:

splineKnots(log3)

这是我得到的:

    Error in UseMethod("splineKnots") : 
    no applicable method for 'splineKnots' applied to an object of class "c('svyglm', 'glm',      'lm')"

还有其他方法可以知道结的位置吗?

谢谢。

splineKnots 函数不适用于许多对象。我认为您必须为此编写自己的方法:

library(splines)
splineKnots.default <- function(object) attr(object, "knots")
edadt <- rnorm(1000)
splineKnots(bs(edadt,degree=1, df = 3))

请注意,这适用于 bs(edadt,degree=1, df = 3),不适用于 log3。 如果你真的想让它在 log3 上工作,你必须弄清楚 class 这个对象是什么,并找出它是否有 bs(edadt,degree=1, df = 3) 的结果存储在它的任何地方,或者公式,以便您可以重建它。