.*
ocu
Subtraction comes before testing for equality.
You may want treated
or time
.
gen treated =0 if missing(ocu)==0
replace treated =1 if ocu==1/2/3/6/14
gen time = (week==80-85) & !missing(week)`
If ocu == 1/2/3/6/14
我试着制作了以下的假人
occ == 1 | occ == 2 | occ == 3 | occ == 6 | occ == 14
和
inlist(occ, 1, 2, 3, 6, 14)
但他们只是显示为零的所有occ
|
治疗区为ID为1、2、3、6、14的五个区。"忒修斯行动 "政策从第80周持续到第85周。 ocu:区ID我试着创建了治疗和时间的假人,但它只是......。/
是一种合法的表达方式,但很可能离你想要的东西很远。
occ == 1 | 2 | 3 | 6 | 14
是合法的,长篇大论的,而且
(occ == 1) | 2 | 3 | 6 | 14
合法的,有可能吸引人的表达方式是:是否。occ
采取任何指定的值?
虽然Stata支持 week==80-85
作为 "或 "操作符(而不是 week
为此)注意到 week == 80-85
是合法的,但几乎从来不是任何人想要的,因为它是经过解析的。help operators
并将始终被评估为1(true),无论
由于其他参数 2 3 6 14 中只有一个是非零,因此整个表达式的值为 1(真)。
表达式
如果你想让它意味着 week >= 80 & week <= 85
80和85之间。Stata将评估 inrange(week, 80, 85)
请参考文献中的优先规则,先应用减法,所以测试与-5相等。
. week
所有运算符的运算顺序(从第一到最后)是 !"(或 ~)、^、-(否定)、*、-(减法)、+、 !"(或 ~=)、>、<、<=、>。(或 ~), ^, - (否定), , *, - (减法), +, != (或 ~=), >, <, <=, >=, ==, &, 以及