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

如何获取数据框中rowSums的Top值及对应descriptions列内容

R语言计算行和并排序生成结果数据框

给定如下R语言数据框,需完成以下操作:

  • 计算每行的行和(rowSums)
  • 按行和从大到小排序
  • 提取对应的descriptions列与行和,生成名为top_descriptions的结果数据框,包含descriptions和row_sums两列

示例数据框代码:

set.seed(101)

df = data.frame(descriptions = LETTERS, 
           col1 = round(runif(26 , min = 2, max = 250)),
           col2 = round(runif(26 , min = 2, max = 250)),
           col3 = round(runif(26 , min = 2, max = 250)))

解决方案

方法1:基础R实现

# 计算行和并添加为新列
df$row_sums = rowSums(df[, c("col1", "col2", "col3")])

# 按行和降序排序,提取目标列生成结果数据框
top_descriptions = df[order(-df$row_sums), c("descriptions", "row_sums")]

方法2:dplyr包实现(管道式操作)

若已安装dplyr包,可使用更简洁的管道语法:

library(dplyr)

top_descriptions = df %>%
  mutate(row_sums = rowSums(across(col1:col3))) %>%  # 计算行和
  arrange(desc(row_sums)) %>%                        # 按行和降序排序
  select(descriptions, row_sums)                     # 提取目标列

期望结果结构

结果数据框top_descriptions的结构如下(数值为示例):

descriptionsrow_sums
G553
Y507
B430
A412
R356
C321
D305
F243
J222
O212
N202
E195
T187
X167
W132
L111

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 15:57:18