You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Stata中创建家庭层面的最高得分变量

家庭最高得分变量的正确生成方法

问题排查

你之前的第二个命令存在逻辑错误:代码中family[_N]调用的是家庭编号的组内最后一行值,而非最高得分,这是结果不符合预期的核心原因;第一个命令若未生效,大概率是因为原始变量名Highest score带空格,未用反引号包裹导致Stata无法识别。


正确实现方式

方法1:使用egen命令

针对带空格的原始变量名,需用反引号包裹变量名:

egen familyhighscore = max(`Highest score'), by(family)

若已将变量重命名为无空格的highestscore,可简化为:

egen familyhighscore = max(highestscore), by(family)

方法2:使用bysort分组生成

同样注意变量名的空格处理,正确命令为:

bysort family (`Highest score'): gen familyhighscore = `Highest score'[_N]

重命名变量后版本:

bysort family (highestscore): gen familyhighscore = highestscore[_N]

保留值标签

若新变量未自动继承原始变量的0=低,1=中,2=高值标签,执行以下命令复制标签:

label copy `Highest score' familyhighscore

重命名变量后版本:

label copy highestscore familyhighscore

用你的样本数据测试后,家庭4的两个个体familyhighscore值均为1,家庭6的两个个体值均为2,完全符合预期。

内容的提问来源于stack exchange,提问作者user1211188

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 06:05:01