我需要对数据集中进行一些手工校正,因此我想避免重复这种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
,但是在我看来,没有一种方法会更具吸引力或更容易理解。
查找观测编号并使用in
而不是if
会缩短代码,但不够清晰,而且对sort
顺序的更改非常脆弱。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句