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

使用ifelse或循环修改tibble变量遇阻:无法修改桑德斯党派

问题分析与解决

你的代码里第二个mutate_if用法错误,mutate_if的第一个参数是用来判断哪些列需要被修改的逻辑条件(比如判断列是否为数值型),而非筛选行的条件。要修改特定行的列值,应该用mutate配合ifelse实现行级条件赋值。

正确写法(两种方式)

方式1:通过年龄匹配(适用于仅Bernice Sanders年龄为79的场景)

prez <- readr::read_csv('https://raw.githubusercontent.com/dereksonderegger/444/master/data-raw/Prez_Candidate_Birthdays')

# 统一党派名称格式
prez <- prez %>%
  mutate(Party = ifelse(Party == 'D', 'Democratic', 'Republican'))

# 修改目标行的党派
prez <- prez %>%
  mutate(Party = ifelse(AgeOnElection == 79, 'Independent', Party))

方式2:通过姓名匹配(更精准,避免年龄重复的误改)

prez <- readr::read_csv('https://raw.githubusercontent.com/dereksonderegger/444/master/data-raw/Prez_Candidate_Birthdays')

prez <- prez %>%
  mutate(Party = ifelse(Party == 'D', 'Democratic', 'Republican')) %>%
  mutate(Party = ifelse(Name == 'Bernice Sanders', 'Independent', Party))

补充说明

  • mutate用于添加或修改列,搭配ifelse可实现行级条件赋值:满足条件时替换为新值,不满足时保留原列值。
  • 若需处理多条件的行级修改,用case_when替代ifelse会让逻辑更清晰易读。

内容的提问来源于stack exchange,提问作者khali-blinks

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 23:05:27