glm中的smooth.spline与数据集中的NA

时间:2018-08-28 19:23:39

标签: r glm spline

我正在尝试对smooth.spline中的解释变量使用glm转换(logit回归)。 我收到错误消息是因为smooth.spline无法使用NA。

这是我的代码:

LogitModel <- glm(dummy~ smooth.spline(A) + B + C
                          ,family = binomial(link = "logit"), data = mydata)

我该如何处理(不更改mydata?)

1 个答案:

答案 0 :(得分:1)

您可以使用自然包含样条线的广义加性模型(GAM)。例如,您可以使用netwire包,作为它们处理gam的副作用。请参见下面的代码:

NA

输出:

library(gam)
set.seed(123)
data(kyphosis)

# simulation of NA
NAs <- matrix(c(sample(81, 4), 1:4), byrow = FALSE, ncol = 2)
kyphosis_NA[NAs] <- NA

# gam
m_NA <- gam(Kyphosis ~ s(Age,4) + Number + Start, family = binomial, data=kyphosis_NA)
summary(m_NA)