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

如何在mutate_at中指定函数参数 批量转换因子时设置标签

错误原因

你遇到的报错是因为在mutate_at中直接调用factor(labels = c("no", "yes"))时,没有传入待转换的列向量作为factor的第一个参数,mutate_at要求传入的处理逻辑必须可以接收目标列作为输入。

实现方法

完全可以用单次批量操作完成所有目标列的带标签转换,有两种常用写法:

1. 兼容mutate_at的写法

用tidyverse公式语法,用.代指当前遍历的目标列,同时建议显式指定levels避免标签匹配错位:

df <- df %>%
  mutate_at(vars(starts_with("xxx")), ~ factor(., levels = c(0, 1), labels = c("no", "yes")))

2. 最新dplyr规范写法

目前mutate_at已被官方标记为不再推荐使用的旧语法,更建议用mutate+across实现相同逻辑:

df <- df %>%
  mutate(across(starts_with("xxx"), ~ factor(., levels = c(0, 1), labels = c("no", "yes"))))
验证

转换完成后可运行str(df)查看目标列的类型和因子标签,确认转换符合预期。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 07:06:02