r - 查找某些变量最小的类别值 - R
问题描述
让我有以下数据框(df):
x=c("a1","a2","a3","b1","b2","b3")
y1=c(4,2,1,1,5,8)
y2=c(7,1,9,3,2,10)
df<-data.frame(x,y1,y2)
即:
> df
x y1 y2
1 a1 4 7
2 a2 2 1
3 a3 1 9
4 b1 1 3
5 b2 5 2
6 b3 8 10
我想通过 x 组找到 y1 和 y2 的最小值 x 的值。
我想达到 df 的以下输出:
y1 y2
a3 a2
b1 b2
我怎样才能达到那个recult?我的原始数据要大得多。
非常感谢。
解决方案
您没有定义明确的组列,我们可以先创建一个。对于所示的示例,我们可以从x
列中删除所有数字并将其用作组列。对于每个组,我们可以找出列中的最小值并得到x
它的对应值。
library(dplyr)
df %>%
group_by(group = sub('\\d+', '', x)) %>%
summarise(across(y1:y2, ~x[which.min(.)]))
# group y1 y2
# <chr> <chr> <chr>
#1 a a3 a2
#2 b b1 b2
推荐阅读
- pine-script - 是否可以将文本输入一起添加到一个变量中?
- c++ - 使用 windows api c++ 更改 windows 立体声混音器的声音输出
- node.js - 我如何通过关系ID从mongos节点js中的用户表中获取数据
- flutter - Flutter 导航从哪个屏幕弹出
- javascript - 有没有办法测试未来的事件?节点.js
- node.js - Plesk:使用 nodejs 会导致错误“找不到模块 'phusion_passenger/line_reader'
- python-3.x - 使用校验和验证通过 Django 从 AWS S3 上传和下载的文件的完整性
- node.js - 为什么我的 Express.js 在使用 auth 中间件时表现不一致?
- python - projectPoints() 函数的输出
- android - 如何使用 MLKit firebase FaceDetection 捕获检测到的人脸图像