【问题标题】:Include NA in linear model in R [duplicate]在 R 的线性模型中包含 NA [重复]
【发布时间】:2017-08-28 20:03:25
【问题描述】:

我有一个关于如何在进行回归后将 NA 值包含在向量中的问题。

这是我的代码:

m <- c(100, 108, 105, 120)
n <- c(5, NA, 10, 8)

b <- lm(n~m)$fitted.values

# This returns:

       1        3        4 
6.961538 7.384615 8.653846 

我还需要包含第 2 列,无论是零还是 NA,以便它由 4 列而不是 3 列组成。关于如何做到这一点的任何建议?

【问题讨论】:

  • 需要再次调用预测。 predict(lm(n~m),data.frame(m=c(100, 108, 105, 120)))

标签: r na lm


【解决方案1】:

为了使您提取的拟合值还包括 NA(即 4 列),您可以在 lm() 内使用 na.exclude

na.exclude 对预测变量和标准进行逐个删除,在这种情况下,函数 fitted() 将用 NA 填充输出

所以你的代码看起来像这样

m <- c(100, 108, 105, 120)
n <- c(5, NA, 10, 8)

# ordinary linear model
b <- lm(n~m, na.action = na.exclude)

# extract elements from a linear model fit
fitted(b)

# And output of NA column
fitted(b)
       1        2        3        4 
6.961538       NA 7.384615 8.653846 

【讨论】:

    猜你喜欢
    • 2017-06-03
    • 1970-01-01
    • 1970-01-01
    • 2021-07-26
    • 2018-09-10
    • 1970-01-01
    • 2012-01-17
    • 2014-11-25
    • 2010-12-20
    相关资源
    最近更新 更多