我有 12x2 的数据集。我想创建一个大小为 48x9 的数据帧(与初始数据帧中的值相同)。我发现的一种解决方案是执行 3 次 rbind()
,然后执行 4 次 cbind()
。我怎样才能在不写多次 cbind
和 rbind
的情况下快速完成?
我找到了以下解决方案 test<-df[rep(seq_len(nrow(df)), each = 5), ]
,但是它没有像初始数据帧那样保留值的顺序。
数据如下
structure(list(Group.1 = 1:12, x = c(-1.44379403794038, -0.662282958199357,
NA, NA, 11.6111730205279, 15.479, 17.8206451612903, 16.7009384164223,
12.9984545454545, 7.88973607038123, NA, 0.793225806451613)), row.names = c(NA,
-12L), class = "data.frame")
答案 0 :(得分:1)
我通过使用 do.call("rbind", replicate(3, df, simplify = FALSE))
找到了解决方案,同样的逻辑也适用于列