我正在研究测试成绩数据库,并希望建立两个观察结果。该数据具有行英语分数,数学分数,等级以及每个孩子的唯一ID。让我们打电话给我们正在建立观察的孩子#34;焦点孩子"
如果可能的话,请帮助我编写没有循环的代码。 (我有大约10万次观察)
更新1 我正在为每个孩子而不仅仅是一个孩子构建这些观察结果。
答案 0 :(得分:0)
循环!
* toy dataset
clear
set obs 5
set seed 2803
gen id = _n
gen rnd = runiform()
sort rnd
gen rank = _n
gen math = 100 * runiform()
gen english = 100 * runiform()
* code for real
gen math_above = .
gen math_below = .
sort rank
forval j = 2/`=_N' {
local J = `j' - 1
su english if math > math[`j'] in 1/`J', meanonly
replace math_above = r(mean) in `j'
su english if math < math[`j'] in 1/`J', meanonly
replace math_below = r(mean) in `j'
}