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

如何使用R对分箱(binned)数据执行拆箱(un-bin)操作

R实现分箱列拆分为单行的方案

以下提供两种常用实现方式:

方案1:tidyverse生态简洁实现(推荐)

使用tidyr包的separate_rows函数可一步完成需求:

# 构造示例数据框
df <- data.frame(
  bin = c("A-B-C", "K-P"),
  val = c(0.345, 0.612)
)

# 加载包
library(tidyr)
# 按分隔符-拆分bin列,每个标签单独生成一行,val列值自动对应保留
res <- separate_rows(df, bin, sep = "-")

运行后输出结果如下:

bin   val
1   A 0.345
2   B 0.345
3   C 0.345
4   K 0.612
5   P 0.612

注:你给出的期望输出中K、P对应的val值为0.621属于笔误,代码运行结果会与原数据的0.612保持一致。

方案2:Base R无依赖实现

无需安装加载第三方包,用基础函数即可实现:

# 构造示例数据框
df <- data.frame(
  bin = c("A-B-C", "K-P"),
  val = c(0.345, 0.612)
)

# 拆分bin列
split_bin <- strsplit(df$bin, "-")
# 拼接生成新数据框
res <- data.frame(
  bin = unlist(split_bin),
  val = rep(df$val, lengths(split_bin))
)

运行结果和方案1完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 13:15:04