r - R rbind 同时保留每个数据帧中的顺序或行
问题描述
我需要合并 2 个数据帧,同时保留它们在每个数据帧中的出现顺序:
x = data.frame(a=1:3, b=2:4, c=3:5)
y = data.frame(a=c(10, 20, 30), b=c(20, 30, 40), c=c(30, 40, 50))
我想要的是:
> z
a b c
1 2 3
10 20 30
2 3 4
20 30 40
3 4 5
30 40 50
但是 rbind 所做的是在第一个数据帧下添加第二个数据帧。
解决方案
试试这个单线
do.call("rbind", Map("rbind", split(x, 1:nrow(x)), split(y, 1:nrow(y))))
x
如果并且y
在问题中给出了这个data.frame :
a b c
1.1 1 2 3
1.2 10 20 30
2.2 2 3 4
2.21 20 30 40
3.3 3 4 5
3.31 30 40 50
它逐行拆分每个数据帧,然后将 rbind 拆分的相应组件。然后它会重新绑定所有这些。请注意,即使列具有不同的类型,这种单行也可以工作。例如,即使:
x <- data.frame(a = letters[1:3], b = 1:3, c = c(TRUE, FALSE, TRUE))
y <- data.frame(a = LETTERS[1:3], b = 11:13, c = c(FALSE, TRUE, FALSE))
推荐阅读
- java - 如何将简单按钮锚定到小吃店
- selenium - 空手道和硒进入同一个测试自动化框架
- reactjs - 如何使用选项卡在路由页面之间存储输入值
- postman - 邮递员:如何设置我的邮递员使用“pm”而不是“postman”
- javascript - Google Closure Compiler 在 let 声明中使用 JSC_CONSTANT_REASSIGNED_VALUE_ERROR 发出警告
- php - 尝试从 JSON 文件中删除值
- ionic-framework - 构建时platform.registerBackButtonAction()不起作用--prod
- php - 我在获取插入多个下拉值时遇到问题。提交后出现数据库错误
- java - 无法将 Synthetica 外观添加到我的 java 项目
- jenkins - Jenkins 管道失败且没有错误