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

如何将dplyr mutate cut生成的分箱重命名为1-10

分箱区间转1-10数字的简便方法

方法1:直接转换因子为整数

cut()函数生成的是有序因子,其底层存储的整数正好对应分箱的顺序(第一个区间对应1,第二个对应2,依此类推),直接用as.integer()转换即可:

# 一步完成分箱并转换为1-10的整数
df <- df %>% mutate(decile = as.integer(cut(metric, breaks=10)))

方法2:在cut中直接指定labels参数

如果想在分箱时直接生成带1-10标签的结果,可设置labels参数:

# 生成因子类型的1-10标签
df <- df %>% mutate(decile = cut(metric, breaks=10, labels = 1:10))

# 若需要整数类型,再加一步转换
df <- df %>% mutate(decile = as.integer(cut(metric, breaks=10, labels = 1:10)))

这两种方法都不需要处理字符串替换,利用R因子的特性就能快速实现需求,比转字符再替换高效得多。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 15:14:58