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

R语言使用mutate修改列时如何统计修改行数并标记受影响行

解决方案

实现思路

你当前直接统计匹配条件行数的思路本身效率就很高,没有额外的专门函数做这个需求。更推荐的写法是把标记修改行、修改目标列、统计修改数三个需求合并到同一段逻辑里,避免重复写判断条件减少出错概率。

具体实现

1. 同时标记修改行+统计修改数

library(dplyr)

new_data <- my_data %>%
  # 新增标记列:TRUE代表本次被修改的行,FALSE代表未修改
  mutate(is_modified = col2 == 0 & col3 != 0,
         # 基于标记列执行原有的col1修改逻辑
         col1 = ifelse(is_modified, 0, col1))

# 直接对标记列求和得到被修改的总行数
modified_total <- sum(new_data$is_modified, na.rm = TRUE)

补充说明:加na.rm = TRUE是为了避免数据中存在NA值时求和结果返回NA,如果你的数据没有NA可以省略该参数。

2. 不需要保留标记列,仅统计修改行数的简化写法

modified_total <- my_data %>%
  summarise(cnt = sum(col2 == 0 & col3 != 0, na.rm = TRUE)) %>%
  pull(cnt)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 03:12:00