使用变量对的循环生成变量

时间:2017-02-05 20:46:49

标签: stata

我有一组国家/地区的数量和值数据,目前变量名称为 Q_US V_US Q_UK V_UK Q_France V_France ,依次为:Quantity_country Value_country等。

对于每个国家(美国,英国,法国等),我想生成一个新变量,它给出了单位价值。我会手动创建它们

2

但我有100多个国家,如果可能的话,在循环中这样做会很棒。

有一种简单的方法吗?

1 个答案:

答案 0 :(得分:0)

让我们获取您在变量名中使用它们的所有国家/地区的列表。

unab where : V_* 
local where " `where'" 
local where : subinstr local where " V_" " ", all 

附加空间旨在确保删除的文本只是变量名称开头的前缀V_。有关使用unab的另一个示例,请参阅this FAQ

检查是否有效:

display "`where'" 

现在循环:

foreach c of local where { 
    gen unit_`c' = V_`c'/Q_`c' 
} 

我也考虑reshape long