You need to enable JavaScript to run this app. R中如何按前两列行和顺序遍历数据框并为第三列赋值
优惠活动
大模型
产品
解决方案
定价
更多

R中如何按前两列行和顺序遍历数据框并为第三列赋值

R实现代码

# 构造初始数据框
df <- data.frame(
  Col1 = c(20, 5, 20, 0, 20, 10, 20, 15),
  Col2 = c(0, 0, 0, 10, 0, 0, 40, 0),
  Col3 = NA_integer_
)

# 计算每行前两列之和
df$row_sum <- df$Col1 + df$Col2

# 按行和从小到大获取行索引
sorted_idx <- order(df$row_sum)

# 按规则为Col3赋值
df$Col3[sorted_idx[1:3]] <- 20
df$Col3[sorted_idx[4:7]] <- 10
df$Col3[sorted_idx[8]] <- 5

# 删除临时计算的行和列(按需选择)
df <- df[, !colnames(df) %in% "row_sum"]

最终结果数据框

Col1Col2Col3
20010
5020
20010
01020
20010
10020
20405
15010

验证逻辑:行和从小到大对应的行依次为第2行(和为5)、第4行(和为10)、第6行(和为10)、第8行(和为15)、第1行(和为20)、第3行(和为20)、第5行(和为20)、第7行(和为60),和赋值规则完全匹配。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 03:15:02