拆分dataframe并将函数应用于R中的两个不同行

拆分dataframe并将函数应用于R中的两个不同行,r,split,R,Split,我试图对144个数据帧的列表应用mi.meld,以便组合估计集及其标准误差。由于Amelia无法处理列表,因此我将其放在一个大数据框中,其中每两行对应于原始数据框。下面是我的数据快照(288行) 我想找到一种快速的方法,不重复命令144次mi.meld(data,q=data[1,],data[2,]),和mi.meld(data,q=data[3,],data[4,]),再重复142次 因此,在第一种情况下,q应该是第一行值的向量,依此类推 谢谢,卢卡斯 nn V1

我试图对144个数据帧的列表应用
mi.meld
,以便组合估计集及其标准误差。由于
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
rownum也许,类似这样的东西会有所帮助:

library(Amelia)
row_index <- seq(1, nrow(data), 2)
row_index <- row_index[row_index < nrow(data)]

result <- lapply(row_index, function(x) mi.meld(data[x,], data[x + 1,]))
库(阿米莉亚)

行索引可能,类似这样的东西会有所帮助:

library(Amelia)
row_index <- seq(1, nrow(data), 2)
row_index <- row_index[row_index < nrow(data)]

result <- lapply(row_index, function(x) mi.meld(data[x,], data[x + 1,]))
库(阿米莉亚)

行索引小心。。。如果有奇数行,这将生成一个all-
NA
行。(当然,如果数据是众所周知的,这可能不是问题。)@r2evans会吗?我认为不管行数是奇数还是偶数,这都是一样的。好吧,我误读了你的代码。然后不同:行1:2,然后2:3,然后3:4。。。OP是1:2,然后是3:4,然后是5:6。我想你是对的。更正了答案。谢谢。小心。。。如果有奇数行,这将生成一个all-
NA
行。(当然,如果数据是众所周知的,这可能不是问题。)@r2evans会吗?我认为不管行数是奇数还是偶数,这都是一样的。好吧,我误读了你的代码。然后不同:行1:2,然后2:3,然后3:4。。。OP是1:2,然后是3:4,然后是5:6。我想你是对的。更正了答案。谢谢。您的问题似乎是关于将一帧按行拆分,为什么要添加和标记?它们似乎不相关。您的问题似乎是关于按行拆分帧,为什么要添加和标记?他们似乎毫不相干。