【问题标题】:Creating duplicate observations to compare as variables in Stata在Stata中创建重复观察以作为变量进行比较
【发布时间】:2017-08-24 19:54:52
【问题描述】:

我有一个数据库,每个城市都有不同的产品。它们被列为单个观察值。相反,我希望它像一个比较不同城市的两种产品的观察结果。 我的实际数据库如下所示:

Date Product Market Price  
 A      X       H     10
 A      X       I     5
 A      X       J     7

我希望它看起来像这样:

Date Product Market1 Market2 Price1 Price2
 A      X       H       I      10     5
 A      X       H       J      10     7     
 A      X       I       J       5     7

谢谢!

【问题讨论】:

    标签: stata


    【解决方案1】:

    这应该可以让您一路走好。基本思想是在几乎相同的数据副本上使用joinby 在组内形成所有成对组合,然后删除自我匹配和重复。

    clear
    
    input str1(Date Product Market) byte(Price)  
    A X H 10
    A X I 5
    A X J 7
    end
    
    rename (Market Price) =2
    tempfile markets
    save "`markets'"
    rename *2 *1
    joinby Date Product using "`markets'"
    drop if Market1>=Market2 // drop duplicates
    order Date Product Market1 Market2 Price1 Price2
    drop if Market1==Market2
    list
    

    【讨论】:

    • 要删除重复项,为什么不直接写drop if Market1>=Market2 而不是drop if Market1==Market2
    • @eoraptor 这是一个更好的方法。已编辑。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-02
    相关资源
    最近更新 更多