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

如何在SAS中计算数据集各列的几何均值与几何变异系数?

SAS计算几何均值与几何变异系数的方法

针对你的数据集,以下是适合新手的分步操作方法:

步骤1:对变量进行对数转换

几何均值和几何变异系数的计算依赖变量的对数转换结果,先通过数据步生成各变量的自然对数:

data have_log;
    set have;
    ln_x1 = log(x1); /* 计算x1的自然对数 */
    ln_x2 = log(x2); /* 计算x2的自然对数 */
    ln_x3 = log(x3); /* 计算x3的自然对数 */
run;

步骤2:提取对数变量的均值和标准差

使用proc means工具计算对数转换后变量的算术均值(用于几何均值)和标准差(用于几何变异系数),并将结果保存到新数据集:

proc means data=have_log noprint;
    var ln_x1 ln_x2 ln_x3; /* 指定要计算统计量的变量 */
    /* 将均值和标准差输出到log_stats数据集,自定义变量名 */
    output out=log_stats mean=mean_x1 mean_x2 mean_x3 std=std_x1 std_x2 std_x3;
run;
  • noprint:避免输出默认的统计报表,只生成结果数据集
  • output语句:指定要保存的统计量及对应的变量名

步骤3:计算最终的几何均值和几何变异系数

基于步骤2得到的统计量,按照公式计算目标值:

data result;
    set log_stats;
    /* 几何均值公式:exp(对数变量的算术均值) */
    geom_mean_x1 = exp(mean_x1);
    geom_mean_x2 = exp(mean_x2);
    geom_mean_x3 = exp(mean_x3);
    
    /* 几何变异系数公式:100*(exp(标准差^2)-1)^0.5 */
    cv_geom_x1 = 100 * sqrt(exp(std_x1**2) - 1);
    cv_geom_x2 = 100 * sqrt(exp(std_x2**2) - 1);
    cv_geom_x3 = 100 * sqrt(exp(std_x3**2) - 1);
    
    /* 仅保留需要的结果变量,简化输出 */
    keep geom_mean_x1 cv_geom_x1 geom_mean_x2 cv_geom_x2 geom_mean_x3 cv_geom_x3;
run;

步骤4:查看计算结果

用proc print输出最终结果:

proc print data=result noobs;
    title "变量x1-x3的几何均值与几何变异系数";
run;

运行上述代码后,你会得到每个变量对应的几何均值和几何变异系数结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 07:54:20