如何用另一个变量的内容替换一个变量的内容?

How do I replace the contents of one variable with that of another?

本质上,我想告诉 Stata,当变量 F11 = "Ya" replace 时,它与变量 Score 中的值(附有屏幕截图)。 enter image description here

所以我想将变量 F11 的内容以及所有其他指标编号(A01B02C03 等)替换为适用于该指标的分数。

因此,例如,对于屏幕截图中的第一个观察,该人的指标 F11(变量为 Kat_Indikator_KG)的得分为 19.88(变量为 Score)并且变量 F11 下的标签 "Ya" 告诉我们该人在该类别中得分。

我想做的是用变量 Score 中获得的分数替换 "Ya",我想对所有指标变量都这样做,例如A01B02C03

到目前为止,我已经尝试了以下方法,但 none 似乎有效:

replace F11 = Score if Kat_Indikator_KG == "F-11"
replace F11 = Score if Kat_Indikator_KG == "F-11"
replace F11 = Score if Kat_Indikator_KG == "F-11" & F11 == "Ya"
replace F11 = Score if F11 == "Ya"

附上截图,感谢帮助!

您不能用数值替换字符串变量。您可以用“1”和 destring 替换 "Ya",这样的事情是这样的:

ds Kat Score, not
foreach var of varlist `r(varlist)' {
    replace `var' = "1" if `var' == "Ya"
    destring `var', replace
    replace `var' == Score if `var' == 1
}