[英]Using predict for linear model with NA values in R
我有一个 ~32,000 的数据集,为此我创建了一个线性 model。 由于缺失,约 12,000 个观测值被删除。
我正在尝试使用预测 function 来回测我的 32,000 个数据点中的每一个的预期值,但是 [正如预期的那样],这给出了错误“替换有 20000 行,数据有 32000”。
最好的办法是在首先安装 model 时使用na.action=na.exclude
:来自?na.exclude
,
当使用“na.exclude”时,残差和预测被填充到正确的长度,方法是为“na.exclude”省略的情况插入“NA”。
使用
data[complete.cases(data),]
只为您提供没有NA
的观察结果。 也许这就是你要找的。
另一种方式是
na.omit(data)
它还为您提供了已删除观测值的索引。
使用 0 而不是缺失值的问题在于,线性 model 会将值解释为实际上是 0 而不是缺失。 例如,如果您的变量x
的范围为 10-100,则 model 会将您估算的 0 解释为低于训练数据范围的观察值,并人为地为您提供低预测。 如果要对缺失值的行进行预测,则必须进行一些值插补(即,将 NA 替换为均值、中位数或使用 k 最近邻)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.