如何使用Stata在一行中替换多个变量
How to replace multiple variables in one line using Stata
我需要在数据集中进行一些手动更正,我想避免重复 if
条件。例如,而不是
sysuse auto, clear
replace mpg=21 if make=="AMC Concord"
replace rep78=4 if make=="AMC Concord"
replace mpg=23 if make=="AMC Pacer"
replace rep78=4.5 if make=="AMC Pacer"
下面的代码会更简洁,但它不起作用
sysuse auto, clear
replace mpg=21 & rep78=4 if make=="AMC Concord"
replace mpg=23 & rep78=5 if make=="AMC Pacer"
任何建议都会有所帮助。
你是对的;该代码会更简洁。它只是不合法的 Stata,replace
的语法图中没有任何其他建议。
我可以想象一些非常人为的方法,可以在使用 if
的同时用更少的行重写相同的代码,但在我看来,none 会更有吸引力或更容易理解.
查找观察编号并使用 in
而不是 if
也会缩短代码,但不太清晰并且对 sort
顺序的更改非常脆弱。
我需要在数据集中进行一些手动更正,我想避免重复 if
条件。例如,而不是
sysuse auto, clear
replace mpg=21 if make=="AMC Concord"
replace rep78=4 if make=="AMC Concord"
replace mpg=23 if make=="AMC Pacer"
replace rep78=4.5 if make=="AMC Pacer"
下面的代码会更简洁,但它不起作用
sysuse auto, clear
replace mpg=21 & rep78=4 if make=="AMC Concord"
replace mpg=23 & rep78=5 if make=="AMC Pacer"
任何建议都会有所帮助。
你是对的;该代码会更简洁。它只是不合法的 Stata,replace
的语法图中没有任何其他建议。
我可以想象一些非常人为的方法,可以在使用 if
的同时用更少的行重写相同的代码,但在我看来,none 会更有吸引力或更容易理解.
查找观察编号并使用 in
而不是 if
也会缩短代码,但不太清晰并且对 sort
顺序的更改非常脆弱。