我想创建一个在特定单元格中使用值的名称的变量。例如,我的数据集如下所示
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'= .
}
答案 0 :(得分:0)
这将失败,除非变量在此处var1
查看,是一个字符串变量,并且所使用的变量的每个不同值都可以是新的合法变量名称。我没有试图使代码抵抗假设的失败。
levelsof var1, local(levels)
foreach v of local levels {
gen `v' = .
}
这不是问题,但很难看出它如何有用。