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

基于另一列移除数据框中expected_score大于total_score的值

解决方法

首先注意到你定义数据框时,total_score被误写为tota_score,先修正这个拼写问题,后续操作基于修正后的列名。

方法1:基础R原生实现

直接通过逻辑索引定位并修改expected_score列:

# 修正列名拼写错误
names(df)[names(df) == "tota_score"] <- "total_score"

# 将expected_score中大于对应行total_score的值替换为NA
df$expected_score[df$expected_score > df$total_score] <- NA

方法2:dplyr管道风格实现

如果习惯使用tidyverse工具链,可以用更简洁的管道写法:

library(dplyr)

# 修正列名+处理目标列
df <- df %>%
  rename(total_score = tota_score) %>%
  mutate(expected_score = ifelse(expected_score > total_score, NA, expected_score))

处理后效果

完成操作后,expected_score列中原本大于对应行total_score的值(比如第7行的5、第8行的12.5、第11行的16)都会被替换为NA,其余符合要求的值和原有NA均保持不变。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 07:37:53