R 在数据帧列表中重复一行数据帧n次
如何在列表的每个数据帧中重复和绑定数据帧的一行n次?因此,例如,对于此列表:R 在数据帧列表中重复一行数据帧n次,r,list,dataframe,R,List,Dataframe,如何在列表的每个数据帧中重复和绑定数据帧的一行n次?因此,例如,对于此列表: [[1]] x z y 1 2 3 [[2]] x z y 4 5 6 如果n为1,则这是所需的输出: [[1]] x z y 1 2 3 1 2 3 [[2]] x z y 4 5 6 4 5 6 数据: list1我们可以使用lappy,do.call,rbind和rep。要使用rep创建复制数据帧列表,请确保使用list功能覆盖数据帧 lapply(Mylist, functio
[[1]]
x z y
1 2 3
[[2]]
x z y
4 5 6
如果n为1,则这是所需的输出:
[[1]]
x z y
1 2 3
1 2 3
[[2]]
x z y
4 5 6
4 5 6
数据:
list1我们可以使用lappy
,do.call
,rbind
和rep
。要使用rep
创建复制数据帧列表,请确保使用list
功能覆盖数据帧
lapply(Mylist, function(x){
do.call(rbind, rep(list(x), 2))
})
# [[1]]
# x z y
# 1 1 2 3
# 2 1 2 3
#
# [[2]]
# x z y
# 1 4 5 6
# 2 4 5 6
另一个想法是,只要选择行,就可以复制行索引,但以后可能需要修复行名称
lapply(Mylist, function(x){
x[rep(1, 2), ]
})
# [[1]]
# x z y
# 1 1 2 3
# 1.1 1 2 3
#
# [[2]]
# x z y
# 1 4 5 6
# 1.1 4 5 6
谢谢我更新了列表名称以消除混淆。请更新您的答案以反映此更改好吗?@user1658170谢谢您的更新。我已经相应地更新了我的答案。对第二个答案稍作修改,以概括数据。具有多行的帧是lappy(Mylist,function(x)x[rep(seq_len(nrow(x)),each=2),])
。
lapply(Mylist, function(x){
x[rep(1, 2), ]
})
# [[1]]
# x z y
# 1 1 2 3
# 1.1 1 2 3
#
# [[2]]
# x z y
# 1 4 5 6
# 1.1 4 5 6