You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R语言中获取非首行的列最大值对应行的Year值

解决R语言获取X列最大值对应Year的问题

首先补全你的数据框定义(原代码缺闭合括号):

data <- data.frame(Item = c(1, 2, 3),
                   Year = c(2001, 2002, 2003),
                   X    = c(3, 2, 45))

你用rownames()得到行号3是正常的——rownames()返回的是数据框的行名称,默认就是从1开始的序列,和Year列的数值没有关联,自然拿不到2003。

下面是两种直接有效的解决方法:

方法一:用which.max()定位行位置

data$Year[which.max(data$X)]

which.max(data$X)会返回X列最大值所在的行索引(这里是3),再用这个索引提取Year列对应的值,直接得到2003。

方法二:逻辑筛选匹配最大值

data$Year[data$X == max(data$X)]

先计算X列的最大值,再筛选出X等于该值的所有行,提取对应的Year。如果后续数据中X列有多个最大值,这种方法会返回所有匹配的Year值。

内容的提问来源于stack exchange,提问作者daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 11:10:24