我有以下数据集:
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中执行此操作的最佳方法是什么?