【发布时间】:2017-11-11 20:44:17
【问题描述】:
对于 tidyverse 用户,dplyr 是处理数据的新方法。
对于试图避免使用旧包 plyr 的用户,dplyr 中与 rbind.fill 等效的功能是什么?
【问题讨论】:
对于 tidyverse 用户,dplyr 是处理数据的新方法。
对于试图避免使用旧包 plyr 的用户,dplyr 中与 rbind.fill 等效的功能是什么?
【问题讨论】:
另一种选择:
rbindf <- function(...) {
l <- list(...)
if(length(l) == 1) l <- l[[1]]
nn <- length(l)
x <- l[[1]]
if(length(l)>1){
for(i in 2:nn) {
y <- l[[i]]
if(nrow(x) > 0 & nrow(y) > 0) {
if(!all(yinx <- names(y) %in% names(x))) {
x[, names(y)[!yinx]] <- NA
}
if(!all(xiny <- names(x) %in% names(y))) {
y[, names(x)[!xiny]] <- NA
}
}
x <- rbind(x, y)
}
}
return(x)
}
来自https://github.com/sashahafner/biogas(最初来自https://github.com/jonkatz2/monitoR)。
【讨论】:
是的。 dplyr::bind_rows
评论归于评论者。
【讨论】: