是否有人知道是否可以定义一个自己的函数,该函数将未定义的多个参数作为输入?我的具体问题是我想编写一个自己的rbind
函数,该函数能够使用类似的rownames对数据框进行rbind(并且只分配新的数字rownames)。
这种方法显然是错误的,但我希望你能解决我的问题/想法:
rbindDF <- function(x){
N <- length(x)
# Join x[1] and x[2]
...
# Join x[n-1] and x[n]
}
我试图找到它是如何完成的,例如:在rbind
或sum
但我不记得如何从.Internal函数中查看源代码。
使用电话rbindDF(list(...))
可能是一种妥协,但如果可以以这种方式完成,如果存在三个数据帧rbindDF(data1,data2,data3)
,例如,我会很高兴。如果是这样的两个rbindDF(data1,data2)
。
非常感谢任何暗示!
答案 0 :(得分:3)
您可以使用省略号运算符(...
)。 E.g:
rbindDF <- function(...) {
df_list <- list(...)
do.call(rbind, df_list)
}
这将允许传入任意数量的数据帧:
rbindDF(df1, df2, df3)
我认为这个问题只是需要传递未知数量的参数而不是函数本身的内容。