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

如何基于指定列表替换DataFrame中特定行的列值

R语言高效替换指定ID的freq值

基础R解决方案

利用向量化操作%in%快速匹配目标ID,直接赋值替换,无需额外依赖包,处理大数据量效率优异:

# 提取需要替换的ID集合
target_ids <- list$id
# 匹配ID并将对应freq值替换为1
df$freq[df$id %in% target_ids] <- 1

tidyverse(dplyr)解决方案

若习惯使用tidyverse语法,可通过mutate结合if_else实现:

library(dplyr)

df <- df %>%
  mutate(freq = if_else(id %in% list$id, 1L, freq))

额外提示

变量名list是R的内置函数名,建议重命名为id_list这类无冲突名称,避免潜在语法错误:

# 重命名数据框规避冲突
id_list <- list
rm(list)

# 使用重命名后的对象进行匹配
df$freq[df$id %in% id_list$id] <- 1

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 18:25:29