我有下面的代码,其中我将SampleDf和sampleDF2列在一起,然后将两个字符向量绑定到它上面。我想要做的是创建一个函数,我可以传递另一个sampleDF3,Recipe3和成分列表,并将它们类似地rbind和cbind放在一起。有没有一种简单的方法可以像lapply或do.call那样做?我的最终目标是能够将函数传递给sampleDF,Recipe和components的列表,并将它们全部与rbind和cbind组合在一起,类似于下面的示例。
==
答案 0 :(得分:1)
您可以执行以下操作:
require(dplyr)
bind_all <- function(rows, cols){
rows <- lapply(rows, as.data.frame)
cols <- vapply(cols, as.data.frame, list(1))
bind_cols(bind_rows(rows), cols)
}
bind_all(list(SampleDf, sampleDf2),
list(RecipeName=c("Recipe1","Recipe2"),ingredients=c("","Beans")))
这给了你:
ME RMSE MAE MPE MAPE RecipeName ingredients
1 45.849072 75.65322 49.47575 21.79237 153.2550 Recipe1
2 -1.399304 65.19925 46.56641 -364.36969 412.5394 Recipe2 Beans