我在数据集中有一些手动修正,我想避免重复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"
任何建议都会有所帮助。
答案 0 :(得分:1)
replace
的语法图中没有任何内容。
我可以想象一些非常人为的方法,在使用if
的同时用更少的行重写相同的代码,但在我看来,没有人会更有吸引力或更容易理解。
查看观察数并使用in
而不是if
也会缩短代码,但对sort
顺序的更改不太清晰且高度脆弱。