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

R语言:为数据表多列实体创建分桶并统计数量

按指定分桶统计各列实体数量

解决方案(R语言)

假设你的原始数据已通过dput导入为数据框df,以下是基于指定分桶规则的统计代码:

# 1. 定义分桶参数
breaks <- c(-100, -20, -10, 100)
bucket_labels <- c("-100至-20", "-20至-10", "-10至100")

# 2. 遍历每列完成分桶统计
bucket_stats <- lapply(df, function(col) {
  # 使用cut进行分桶,include.lowest确保左端点被包含
  table(cut(col, breaks = breaks, labels = bucket_labels, include.lowest = TRUE))
})

# 3. 转换为直观的数据框格式
stats_df <- as.data.frame(do.call(rbind, bucket_stats))
colnames(stats_df) <- bucket_labels

示例输出

如果你的原始数据是:

df <- structure(list(
  col1 = c(-50, -15, 20, -25, 80, -8, -12, -30),
  col2 = c(-18, 5, -22, -10, 90, -5, -25, 15),
  col3 = c(30, -11, -21, 60, -9, -19, -35, 70)
), class = "data.frame", row.names = c(NA, -8L))

运行代码后会得到如下统计结果:

-100至-20 -20至-10 -10至100
col1        3        2        3
col2        2        2        4
col3        2        2        4

代码说明

  • breaks指定分桶的分界值,bucket_labels对应每个区间的显示名称
  • cut函数负责将列中的数值映射到对应分桶,include.lowest = TRUE保证-100这类左端点值被纳入第一个区间
  • lapply遍历数据框的每一列,table统计每个分桶的实体数量
  • 最后通过do.call(rbind, ...)将列表格式的统计结果转换为行列清晰的数据框

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 13:48:22