0

有谁知道是否可以定义一个自己的函数,将未确定的许多参数作为输入?我的具体问题是我想编写一个自己的rbind函数,该函数能够使用类似的行名来绑定 data.frames(并且只分配新的数字行名)。

这种方法显然是错误的,但我希望你能得到我的问题/想法:

rbindDF <- function(x){
 N <- length(x)
 # Join x[1] and x[2]
 ...
 # Join x[n-1] and x[n] 
}

我试图找到它是如何完成的,例如 in rbindorsum但我不记得如何从 .Internal 函数中查看源代码。

使用调用可能是一种折衷方案,但如果存在三个数据帧并且例如在两个这样的情况下,rbindDF(list(...))如果可以以这种方式完成,我会很高兴。rbindDF(data1,data2,data3)rbindDF(data1,data2)

非常感谢任何提示!

4

1 回答 1

3

您可以使用省略号运算符 ( ...)。例如:

rbindDF <- function(...) {

    df_list <- list(...)
    do.call(rbind, df_list)

}

这将允许传入任意数量的数据帧:

rbindDF(df1, df2, df3)

我认为这个问题只是需要传递未知数量的参数,而不是函数本身的内容。

于 2013-04-22T13:06:47.580 回答