计算字符变量的中位数

时间:2015-07-30 20:04:41

标签: sas median proc

我有以下数据集:

Date       Company      State
Jan05     Coca-Cola      TX     
Jan05     Coca-Cola      TX 
Jan05     Coca-Cola      DE     
Jan05     Apple          DE 
Jan05     Apple          DE 
Jan05     Apple          DE
Jan05     Microsoft      DE
Feb05     McDonald       MD 
Feb05     McDonald       MD 
Feb05     McDonald       MD
Feb05     McDonald       MD 
Feb05     McDonald       MD 
Feb05     Microsoft      MD   
Jan06     Apple          DE
Jan06     Apple          DE
Jan06     Apple          DE
Jan06     Apple          DE 
Jan06     Apple          DE 
Jan06     Apple          DE
Jan06     Apple          DE    
Feb06     McDonald       MD 
Feb06     McDonald       MD 
Feb06     McDonald       MD
Feb06     McDonald       MD 
Feb06     McDonald       MD 
Feb06     Lenova         MD 
Feb06     Lenova         MD
Jan07     Apple          DE
Jan07     Apple          DE
Jan07     Apple          DE 
Jan07     Microsoft      DE     
Jan07     Lenovo         DE  
Jan07     Apple          DE
Jan07     Apple          DE
Feb07     TJmax          TX
Feb07     TJMax          TX
Feb07     TJMax          TX
Feb07     TJMax          MD
Feb07     TMax           MD
Feb07     TJMax          MD
Feb07     TJMax          MD

我想要做的是计算每个公司从1月05日到1月06日,然后从06年1月到1月7日,2005年2月到2月06日,然后从2月06日到2月07日每个州的12个月中位数增长率,以及其他日期等等只有公司在两个日期都有。我显然无法计算两个日期都不存在的公司的中位数增长率。例如,我可以计算从2005年2月到2006年2月麦当劳的中位数增长率,以及联想从06年1月到1月07日的MD状态。中位数基本上是每个公司被提及的次数(有点像计数变量)。

我到目前为止所做的考虑:我可以为每个州创建一个单独的数据集,然后创建一个计数变量,用于计算每个公司被提及的次数并取其中位数。但我认为在do循环中有一种更有效的方法。

在SAS中执行此操作的最佳方法是什么?

0 个答案:

没有答案