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' = .
}
这不是问题,但很难看出这有什么用。
我想创建一个变量,它采用特定单元格中的值的名称。例如我的数据集看起来像这样
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' = .
}
这不是问题,但很难看出这有什么用。