R语言中如何查找价格最高的钻石对应的重量
R语言获取diamonds数据集最高售价钻石对应重量的方法
diamonds是ggplot2内置的经典数据集,钻石重量存储在carat列(单位:克拉),你已经可以通过max(diamonds$price)拿到最高售价,对应获取重量有3种常用的可靠写法:
基础R等值匹配法(推荐,适配多颗钻石并列最高价的场景)
先存下最高售价,再通过布尔索引筛选出所有价格等于最高售价的记录,提取对应的重量值即可:# 先加载ggplot2包以调用内置diamonds数据集 library(ggplot2) max_price_val <- max(diamonds$price) # 提取所有最高价钻石对应的重量 highest_price_carats <- diamonds$carat[diamonds$price == max_price_val]运行后如果返回多个值,说明数据集中有多颗钻石售价同为最高值,所有对应重量都会被完整返回。
which.max()快速定位法(适合确认仅存在单条最高价记录的场景)which.max()会直接返回向量中最大值第一次出现的位置索引,写法更简洁:library(ggplot2) # 取第一颗最高价钻石的重量 first_highest_price_carat <- diamonds$carat[which.max(diamonds$price)]注意:如果存在多条并列最高价记录,该方法只会返回第一条匹配记录的重量,会遗漏其他同价钻石的重量数据。
dplyr管道流写法(适配tidyverse工作流)
如果你日常用tidyverse系列包做数据处理,可以用筛选+拉取列的逻辑实现:library(ggplot2) library(dplyr) highest_price_carats <- diamonds %>% filter(price == max(price)) %>% pull(carat)这个写法和第一种基础R方法逻辑一致,会返回所有最高价钻石对应的重量值。
内容的提问来源于stack exchange,提问作者ShaneH
相关产品推荐
相关产品推荐

