如何在R中按指定Subject列取值查找对应Sample列的最小值
R语言按指定Subject取值查询对应Sample最小值的实现方法
你已经构造好了示例数据集,下面提供两种常用实现方案:
1 基础R实现(无需安装第三方包)
1.1 单个指定Subject查询
如果你只需要查询某一个特定Subject对应的Sample最小值,直接做条件筛选后取最小值即可,示例代码(查询Subject=1的结果):
min(df[df$Subject == 1, "Sample"]) # 运行返回值:100
1.2 批量查询所有Subject对应的最小值
如果你需要一次性得到所有Subject对应的最小Sample值,用aggregate分组统计即可:
min_result <- aggregate(Sample ~ Subject, data = df, FUN = min) print(min_result)
运行输出结果:
Subject Sample 1 1 100 2 2 200
2 dplyr包实现(更适合数据处理流程)
如果平时常用tidyverse生态的工具,用group_by+summarise的组合实现更简洁:
# 先加载dplyr包 library(dplyr) # 分组统计所有Subject对应的最小Sample min_result <- df %>% group_by(Subject) %>% summarise(min_sample = min(Sample)) # 查询Subject=2的最小值 min_result[min_result$Subject == 2, "min_sample"] # 运行返回值:200
内容的提问来源于stack exchange,提问作者johnny2554
相关产品推荐
相关产品推荐

