如何用另一个变量的内容替换一个变量的内容?
How do I replace the contents of one variable with that of another?
本质上,我想告诉 Stata,当变量 F11 = "Ya" replace
时,它与变量 Score
中的值(附有屏幕截图)。 enter image description here
所以我想将变量 F11
的内容以及所有其他指标编号(A01
、B02
、C03
等)替换为适用于该指标的分数。
因此,例如,对于屏幕截图中的第一个观察,该人的指标 F11
(变量为 Kat_Indikator_KG)的得分为 19.88(变量为 Score
)并且变量 F11
下的标签 "Ya"
告诉我们该人在该类别中得分。
我想做的是用变量 Score
中获得的分数替换 "Ya"
,我想对所有指标变量都这样做,例如A01
、B02
、C03
。
到目前为止,我已经尝试了以下方法,但 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
}
本质上,我想告诉 Stata,当变量 F11 = "Ya" replace
时,它与变量 Score
中的值(附有屏幕截图)。 enter image description here
所以我想将变量 F11
的内容以及所有其他指标编号(A01
、B02
、C03
等)替换为适用于该指标的分数。
因此,例如,对于屏幕截图中的第一个观察,该人的指标 F11
(变量为 Kat_Indikator_KG)的得分为 19.88(变量为 Score
)并且变量 F11
下的标签 "Ya"
告诉我们该人在该类别中得分。
我想做的是用变量 Score
中获得的分数替换 "Ya"
,我想对所有指标变量都这样做,例如A01
、B02
、C03
。
到目前为止,我已经尝试了以下方法,但 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
}