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

如何按因子(分类)变量水平计算连续变量的汇总统计量?

连续变量在分类变量各水平下的汇总统计量计算方法

以下是主流统计工具的常用命令,以GPA(连续变量)和grade(分类变量,取值9th/10th/11th/12th)为例:

R语言

方法1:基础R函数aggregate

无需额外安装包,直接用基础函数实现:

# 假设数据存储在名为df的数据框中
aggregate(GPA ~ grade, data = df, FUN = function(x) {
  c(
    mean = mean(x, na.rm = TRUE),
    std = sd(x, na.rm = TRUE),
    min = min(x, na.rm = TRUE),
    max = max(x, na.rm = TRUE),
    n_obs = length(x)
  )
})

na.rm = TRUE用于忽略缺失值,可根据数据实际情况调整。

方法2:dplyr包(管道语法更易读)

先安装并加载dplyr包:

library(dplyr)
df %>%
  group_by(grade) %>%
  summarise(
    mean_GPA = mean(GPA, na.rm = TRUE),
    std_GPA = sd(GPA, na.rm = TRUE),
    min_GPA = min(GPA, na.rm = TRUE),
    max_GPA = max(GPA, na.rm = TRUE),
    n_obs = n()
  )

Stata

使用tabstat命令一步输出所需统计量:

tabstat GPA, by(grade) stat(mean sd min max count)

stat()括号内的参数对应目标统计量,count即为观测数。

Python(Pandas)

利用Pandas的groupby+agg组合实现:

import pandas as pd
# 假设数据存储在名为df的数据框中
df.groupby('grade')['GPA'].agg(
    mean='mean',
    std='std',
    min='min',
    max='max',
    n_obs='count'
)

默认自动忽略缺失值,若需保留缺失值统计可调整参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 05:05:18