r - 具有相同名称但不同的两个匹配列的行平均值:'_1' 和 '_2'
问题描述
可以说我有数据框:
z = data.frame(col_1 = c(1,2,3,4), col_2 = c(3,4,5,6))
col_1 col_2
1 1 3
2 2 4
3 3 5
4 4 6
我想取同名的列,只是数字不同,例如“_1”和“_2”,并取成对平均值。实际上,我有一个包含许多对的大数据框,它们的顺序不是很好,因此寻找一个可以应用于此的聪明解决方案。
所以输出应该是这样的:
col
1 2
2 3
3 4
4 5
列名与列对相同,但删除了附加标签。
任何帮助都会非常感谢。
解决方案
这是使用list2DF
+ split.default
+的基本 R 选项rowMeans
list2DF(lapply(split.default(z,gsub("_\\d+","",names(z))),rowMeans))
这使
col
1 2
2 3
3 4
4 5
推荐阅读
- swift - Timer.scheduledTimer 未触发
- c - TCP 服务器在 ubuntu 14.04 上使用错误的端口号
- docker - Dockerfile 的 RUN 命令找不到脚本
- jquery - jQuery按钮切换不起作用
- html - 选项卡式导航栏 Bootstrap4 中的手风琴
- django - Django:如果链接与 urlpatterns 不匹配,则重定向
- react-native - 为什么带有 react-native 的 redux-offline 不发送 POST 请求?
- etw-eventsource - 如何在 EventSource 中记录多个字段
- c - c中的排序算法实现
- amazon-web-services - Jenkins 有什么方法可以选择 Spring Boot 配置文件?