SAS:如何让饼图显示特定列的平均值?

Posted

技术标签:

【中文标题】SAS:如何让饼图显示特定列的平均值?【英文标题】:SAS: How to get a Pie Chart to display the MEAN of a specific column? 【发布时间】:2021-02-07 21:30:21 【问题描述】:

我创建了一个简单的饼图,但我希望饼图显示特定列的 MEAN(平均值),这是我数据集中的“PRICE”属性。我的数据集有两个属性 - PRODUCT 和 PRICE。

下面显示了我用于创建饼图的 SAS 代码 - 但我需要一些帮助来了解如何让饼图显示我的“PRICE”属性的平均值。

谢谢 - 非常感谢任何帮助。

PROC TEMPLATE;
    
    DEFINE STATGRAPH MyPieChart;
    BEGINGRAPH;
    ENTRYTITLE 'AVERAGE PRICE OF PRODUCTS';
    LAYOUT REGION; 
    PIECHART CATEGORY=PRODUCTS RESPONSE=PRICE; // I THINK THE CODE NEEDS CHANGING HERE?
    
    
    ENDLAYOUT;
    ENDGRAPH;
    
END;
RUN;

PROC SGRENDER TEMPLATE=MyPieChart DATA=WORK.IMPORT;
RUN;

【问题讨论】:

【参考方案1】:

添加选项/ STAT=MEAN

图形模板语言 (GTL) PIECHART 语句选项 documentation 中的更多信息。

例子:

data have; input 
products $ price; datalines;
A 1
A 2 
A 3
B 11
B 12
B 13
C 5
C 7
C 8
C 10
;

ods html file = 'pie.html';

PROC TEMPLATE;
    
    DEFINE STATGRAPH MyPieChart;
    BEGINGRAPH;
    ENTRYTITLE 'AVERAGE PRICE OF PRODUCTS';
    LAYOUT REGION; 

    PIECHART 
      CATEGORY=PRODUCTS 
      RESPONSE=PRICE
      /
      STAT=MEAN
    ;
    ENDLAYOUT;
    ENDGRAPH;
    
END;
RUN;

PROC SGRENDER TEMPLATE=MyPieChart DATA=WORK.HAVE;
RUN;

ods html close;

【讨论】:

以上是关于SAS:如何让饼图显示特定列的平均值?的主要内容,如果未能解决你的问题,请参考以下文章

Lesson 3 SAS实用函数

如何在Python中按十年计算列的平均值

sql语句如何在同一结果集显示某一列的值和其平均值

sas如何计算相邻观测的差值

按组SAS保存平均值

仅当满足每行元素的条件时,才计算二维数组特定列的均值和方差