我正在尝试将mi.meld
应用于144个数据帧的列表,以便将估算值及其标准误差组合在一起。由于Amelia
不适用于列表,因此我将其取消嵌套到大数据帧中,其中每两行对应于原始数据帧。下面是我的数据快照(288行)。
[我想找到一种不重复144次mi.meld(data,q=data[1,],data[2,])
,mi.meld (data,q=data[3,],data[4,])
和142次以上的命令的快速方法...
因此,在第一种情况下,q
应该是第一行的值的向量,依此类推...
谢谢,卢卡斯
nn V1 V2 V3
ARE.1 1 357.85116 356.859011 359.432494
ARE.2 1 8.54784 7.450074 9.711469
ARE.3 2 503.99528 506.120967 507.520785
ARE.4 2 14.52657 12.129299 14.469123
AUS.1 3 421.60845 423.302610 425.196122
AUS.2 3 29.31331 27.230948 28.605672
rownum <- seq_len(nrow(mtcars))
split(rownum, (rownum-1) %/% 2)[1:3]
# $`0`
# [1] 1 2
# $`1`
# [1] 3 4
# $`2`
# [1] 5 6
L <- lapply(split(rownum, (rownum-1) %/% 2), function(rn) mtcars[rn,])[1:3]
L
# $`0`
# mpg cyl disp hp drat wt qsec vs am gear carb
# Mazda RX4 21 6 160 110 3.9 2.620 16.46 0 1 4 4
# Mazda RX4 Wag 21 6 160 110 3.9 2.875 17.02 0 1 4 4
# $`1`
# mpg cyl disp hp drat wt qsec vs am gear carb
# Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
# Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
# $`2`
# mpg cyl disp hp drat wt qsec vs am gear carb
# Hornet Sportabout 18.7 8 360 175 3.15 3.44 17.02 0 0 3 2
# Valiant 18.1 6 225 105 2.76 3.46 20.22 1 0 3 1
一旦有了list
,其中每个元素都是原始帧的2行子集,则可能会执行类似的操作
lapply(L, function(x) ...)
...
是您希望通话的结果。
可能类似这样会有所帮助:
library(Amelia)
result <- lapply(seq(nrow(data) - 1), function(x) mi.meld(data[x,], data[x + 1,]))