是否存在堆叠多个重复数据帧的函数

  • 本文关键字:数据帧 函数 存在 是否 r
  • 更新时间 :
  • 英文 :


只是想知道是否有一个函数可以多次堆叠相同的数据帧。下面是一个例子,我将相同的数据帧堆叠在一起三次。

df <- mtcars
df <- rbind(df,df,df) # here stack same df three times

是否有一个函数可以将相同的数据帧堆叠多次,而您只需要指定要复制的次数。我可以写一个循环来做这件事,但是有没有这样的函数

df <- stack(df , 3) # does a function like this exist?

非常感谢任何帮助。由于

在我所知道的包中没有,但您可以在一行代码中完成此操作,或者创建自定义函数。

自定义函数:

stack_df <- function(dataframe, ntimes) {
as.data.frame(sapply(dataframe, rep.int, times = ntimes))
}
stack_df(dataframe = mtcars, ntimes = 3)

一个衬套:

as.data.frame(sapply(mtcars, rep.int, times = 3))

我们可以用replicate

stack_df <- function(data, n) 
{
do.call(rbind, replicate(n, data, simplify = FALSE))
}

测试

out <- stack_df(mtcars, 3)
> dim(out)
[1] 96 11

最新更新