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)
的结果存储在它的任何地方,或者公式,以便您可以重建它。
我已经为复杂调查定义了逻辑模型,其中变量 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)
的结果存储在它的任何地方,或者公式,以便您可以重建它。