r - R - 有没有办法根据另一个具有不同列的数据框设置数据框列顺序
问题描述
我想根据 df1 列顺序设置 df2 列顺序。我们应该注意: * df1 中不存在的 df2 中的新列:应将这些列放置为最后一列。* df1 中不存在于 df2 中的列:应创建并填充 NA 或空列。
可重现的例子:
df1 <- data.frame(x1=1:4, x2=c('a','b', NA, 'd'),x4=4:7, stringsAsFactors=FALSE)
df1[,(ncol(df1)+1):5] <- NA
df1 <- cbind(df1, x3=c(0,0,2,2))
df2 <- data.frame(x3=6:7, x2=c("zz", "qq"),x1=2:3, x66 = 66:67, x77 = 77:78, stringsAsFactors=FALSE)
预期的列顺序:“x1”“x2”“x4”“V4”“V5”“x3”“x66”“x77”
解决方案
这是一种使用简单的方法dplyr::bind_rows
-
bind_rows(df1[NULL, ], df2)
x1 x2 x4 V4 V5 x3 x66 x77
1 2 zz NA NA NA 6 66 77
2 3 qq NA NA NA 7 67 78
推荐阅读
- python - 试图将四阶回归多项式拟合到散点图,但我得到了一个奇怪的结果
- android - 从 apk 文件生成 Android App Bundle aab
- string - 为什么字符串不能转换为除 uint8 和 int32 之外的其他数据类型数组?
- php - 如何在循环中获取父子类别
- c# - 仅检查给定大小的一块块的外部
- xcode - 在Xcode中打开最后一个关闭选项卡的快捷方式是什么
- mysql - MySQL:更新行时在 IF 语句中增加和重置变量
- r - 如何在r中的列表子列表中映射值
- c++ - 如何使用 C++ 标准库并行化一个普通的 for 循环
- reactjs - ReactJS在类组件方法中为道具赋值