【发布时间】:2017-05-16 05:31:54
【问题描述】:
我最终想要做的是在多重插补后获得 y-hat 分数,但 Amelia 不提供拟合值。我有使用特定数据集执行此操作的代码,但我正在尝试创建一个无论数据集如何都可以执行此操作的函数。比如:
yhat<-function(a.out,num.obs,num.imp,model.qe){}
其中num.imp 是amelia 或m 中使用的插补数。不过,这就是我卡住的地方:
如果a.out 是amelia 对象并且names(a.out$imputations)[1] 返回"imp1",为什么a.out$imputations$names(a.out$imputations)[1] 不返回与a.out$imputations$"imp1" 相同的东西?
对于a.out$imputations$names(a.out$imputations)[1],R 说:Error: attempt to apply non-function。
如何为单个插补和其中的变量创建通用调用?
【问题讨论】:
-
我很难理解你的问题。到目前为止,您为您的功能尝试了什么?此外,澄清问题本身也会有所帮助。
-
对不起。所以,我有一个 amelia 对象,
a.out。我想呼吁个人价值观。例如,我可以使用a.out$imputations$imp1[1,1]从第一个插补中获得第一个变量的第一个观察值。但是,我希望最后一部分由函数定义,例如a.out$imputations[i,j,k],其中 i 是插补,j 是变量,k 是观察值。例如,如果 i=1、j=1、k=1,则a.out$imputations[i,j,k]将等效于a.out$imputations$imp1[1,1]。
标签: r imputation