假设我已经安装了# Loop through the data within each row, and sum them up
qmark_counter = 0
for i in range(0,len(ill_data) - 1):
if ill_data[i] == '?':
val = 0
qmark_counter += 1
else
val = ill_data[i]
iList_sum[i] += float(val)
模型,但我也安装了所有子集模型,即所有lm
,其中rhs变量列表是原始{变量的变量的子集{1}}。
现在,谈到预测。我有一个lm
在不同的变量(列)中有不同的缺失值,你能编写一个脚本,对于每一行,自动使用最完整的模型进行预测。显然,你不能使用需要特定行数据所没有的变量的模型。
示例:
lm
我想要的是一个函数data.frame
,以便对于newdata的第1行和第5行,它使用列表中的第一个模型,对于第2行,它使用第二个模型,对于第3行,它使用thrid模型,对于第4行,它使用最后一个模型。
关于任何for循环实现的注意事项,将存在多行具有相同缺失值模式的情况,例如, set.seed(1)
x1=rnorm(10)
x2=rnorm(10)
y=rnorm(10)
lmList=list(lm(y~x1+x2),lm(y~x1),lm(y~x2),lm(y~1))
newdata=data.frame(x1=c(1,1,NA,NA,1),x2=c(1,NA,1,NA,1))
> newdata
x1 x2
1 1 1
2 1 NA
3 NA 1
4 NA NA
5 1 1
中的第1行和第5行。因此,您可能希望将这些行捆绑在一起以提高效率。