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

如何在R中高效按条件统计列值并生成汇总表?

高效统计分组观测值的方法

可以用两种主流方式实现一次性生成目标汇总表,避免多次调用count:

方法一:使用tidyverse工具链(dplyr)

利用case_when先给数据列按条件分组,再一次性统计每组的数量:

library(dplyr)

df <- data.frame(X = sample(1:100))

df %>%
  mutate(group = case_when(
    X < 25 ~ "<25",
    X >=25 & X <=50 ~ "25-50",
    X >50 ~ ">50"
  )) %>%
  count(group, name = "count")

这段代码会直接生成包含分组标签和对应计数的表格,和你想要的格式一致。

方法二:使用base R的cut函数

如果不想加载额外包,用base R的cut函数可以快速分箱并统计:

df <- data.frame(X = sample(1:100))

# 定义分箱区间和标签
bins <- c(-Inf, 24, 50, Inf)
labels <- c("<25", "25-50", ">50")

# 生成分组并统计
result <- table(cut(df$X, breaks = bins, labels = labels))
# 转成数据框格式(可选)
as.data.frame(result)

cut函数会自动把数值按指定区间分组,table直接统计每组数量,结果和需求匹配。

这两种方法都只需要一次操作就能完成统计,比多次调用count高效得多,而且结果格式更规整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 03:01:11