在R语言中使用sapply函数查找各价格列最大值对应的航班名称
解决方法
没问题,我来帮你搞定这个需求!咱们一步步来实现:
首先按照要求创建好航班价格数据框:
# 创建航班价格数据框 air <- data.frame( DomPrice = c(14.5, 23.4, 14.6), IntPrice = c(14.5, 23.4, 14.6), RoundTrip = c(44.34, 35.78, 31.24), row.names = c("AI", "KF", "AA") )
接下来用sapply()函数实现核心需求——遍历每一列,找出该列最大值对应的航班名称。核心逻辑是:对每一列数据,先用which.max()定位最大值所在的行索引,再通过rownames(air)获取对应的航班代号。
完整实现代码如下:
# 找出各列最大值对应的航班名称 max_flights <- sapply(air, function(col) { rownames(air)[which.max(col)] }) # 查看结果 max_flights
运行代码后会得到这样的输出:
DomPrice IntPrice RoundTrip "KF" "KF" "AI"
简单解释下结果:
- 国内航班价格(DomPrice)最高的是
KF - 国际航班价格(IntPrice)最高的是
KF - 往返航班价格(RoundTrip)最高的是
AI
内容的提问来源于stack exchange,提问作者Krishna
相关产品推荐
相关产品推荐

