Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 在数据帧列表中重复一行数据帧n次_R_List_Dataframe - Fatal编程技术网

R 在数据帧列表中重复一行数据帧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

如何在列表的每个数据帧中重复和绑定数据帧的一行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, 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