【问题标题】:Weighted Average in Stata's collapse commandStata 的折叠命令中的加权平均值
【发布时间】:2016-06-11 13:57:18
【问题描述】:

我在以下问题上找不到Stata命令,所以我手动解决了:

根据官方手册,Stata 不会在折叠命令中使用平均值进行权重(Collapse 章节的第 6 页):

这意味着我无法在我的销售数据集中获得加权平均价格,其中权重是售出的单位。该数据集是单笔交易的集合,其中包含在周/商店/产品级别的购买次数和每单位支付的价格:

clear
set more off
week,store,product,price,units
1,1,cheer,1,10
1,1,tide,2,6
1,2,cheer,2,7
1,2,tide,3,5
2,1,cheer,1,15
2,1,tide,1,20
2,1,mrclean,2,8
2,2,cheer,2,8
2,2,tide,4,5
2,2,mrclean,3,4

显然,在折叠时采用简单平均会忽略购买的单位数量,从而导致错误的平均价格估算。

所以我所做的是在原始数据集中手动计算了一个新变量price x units。然后,我通过总结 price x unitsunits 变量来折叠数据集:

collapse (sum) pricexunits units, by(week product)

最后,我创建了一个新变量,将pricexunits 除以units。你认为我可以做一些不同的事情吗?

【问题讨论】:

    标签: stata


    【解决方案1】:

    您误读了该文档。

    关键在于标准化是否对不同权重的结果产生影响,而不是是否允许权重。事实上,正如帮助和手动输入所解释的那样,通常允许使用权重。

    因此,频率加权和或计数不同于分析加权和或计数,等等。

    collapse (mean) 允许使用权重。试试看,例如

    collapse (mean) price [w=units] , by(week product) 
    

    【讨论】:

    • 它是否允许将命令 [w=units] 仅应用于代码的特定部分,即(平均)价格?这样如果我有其他的命令和变量组合,就不会影响到它们?
    • 我看不到您想要的代码示例。为什么不通过玩具示例尝试一下,您可以找出答案应该是什么?如果不允许任何组合,您会立即被告知。
    • 文档和一些测试表明权重适用于折叠命令中的所有操作,并且每个命令只能使用一组权重。
    • @ASV 你是对的。我不是在暗示其他。我评论的精神是“来吧,你可以解决这个问题”。欢迎任何想多说的人。
    猜你喜欢
    • 2020-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-03
    • 1970-01-01
    • 1970-01-01
    • 2017-08-06
    • 1970-01-01
    相关资源
    最近更新 更多