Stata:如何用值命名变量

Stata: How to name a variable with a value

我想创建一个变量,它采用特定单元格中的值的名称。例如我的数据集看起来像这样

var1 count
xx   1
xc   2
xv   3
xj   4

我想创建 4 个从变量 var1 的值中获取名称的新变量。例如,三个变量将是 xx xc xv xj。我知道 reshape 会这样做,但就我而言,我不想使用 reshape。我尝试了下面的代码

forvalues i =1/4{
local d var1  count ==`i'
gen xx_`d'= . 
}

这将失败,除非这里 var1 所查看的变量是一个字符串变量,并且所使用的变量的每个不同值都可以是新的合法变量名称。我没有尝试使代码能够抵抗假设的失败。

levelsof var1, local(levels) 
foreach v of local levels { 
    gen `v' = . 
} 

这不是问题,但很难看出这有什么用。