r - 当数据帧中的行数可能不同时,数据帧的并行 cbind
问题描述
考虑以下示例-
a1<-data.frame(a=c(1,2,3),b=c(4,5,6))
a2<-data.frame(a=c(5,6),b=c(7,8))
a3<-data.frame(e=c(34,26),f=c(41,65))
a4<-data.frame(e=c(13,25,567),f=c(14,57,56))
我想在删除 a1 的最后一行后将 a1 绑定到 a3,并在删除 a4 的最后一行后将 a2 绑定到 a4 以生成
a b e f
1 1 4 34 41
2 2 5 26 65
和
a b e f
1 5 7 13 14
2 6 8 25 57
Map(cbind, list(a1,a2),list(a3,a4))
正如其他地方所建议的那样,只有当所有数据框都具有相同的行数时,它才会起作用。在 cbind 中的任何组成数据帧中删除额外的行后,我如何 cbind?
解决方案
您可以使用nrow
访问/排除最后一行。
Map(cbind, list(a1[-nrow(a1), ], a2), list(a3, a4[-nrow(a4), ]))
# [[1]]
# a b e f
# 1 1 4 34 41
# 2 2 5 26 65
#
# [[2]]
# a b e f
# 1 5 7 13 14
# 2 6 8 25 57
推荐阅读
- go - LinkedIn Vector Asset API 不断返回 400 Bad Request
- flutter - 如何使 CircleAvatar 在单击时改变颜色?
- r - 在 R 中使用 .C 解决问题
- ctypes - ctypes 错误预期 LP_mytpe 实例而不是 LP_mytype
- sql - 列包含“,”的重复行
- javascript - 在下拉列表 1 中选择时,我从下拉列表 2 中的隐藏选项不起作用?
- kotlin - 如果在 Kotlin 中已经包含以 `it` 开头的字符串,则 ArrayList 删除
- r - 如何创建具有多个形状的 ggplot 气泡图?
- winapi - 意外处理 DPI 感知
- python - Plotly Dash:结合加载静态和动态图的问题