【发布时间】:2016-09-14 23:36:07
【问题描述】:
我正在使用 Stata,我有一组变量名为 cal1、cal2、cal3 等等,直到 cal21。对于我的数据集的每一行,我可以有或多或少的cal* 变量作为非缺失(我用reshape wide 设计了数据集)。我想生成一个新变量,它返回变量cal* 的最大名称,该名称可用于每一行非缺失。例如,如果第 1 行直到 cal3 为非缺失,则此变量返回 cal3;对于第 2 行,如果我有 cal1、cal2 和 cal6,我想要 cal6。有没有办法做到这一点?
【问题讨论】:
-
不要在 Stata 中这样做
-
最直接的方法是在 reshape 之前计算它。然后,不要进行广泛的重塑,因为有经验的 Stata 用户普遍认为,除了少数例外,Stata 可以更直接地完成复杂的分析,甚至像您正在尝试的简单任务,使用较长的数据布局而不是比相同数据的广泛布局。
-
@Noobie 如果您给出理由,该评论可能会有所帮助或有趣。
-
一个明确的数据示例和一些代码尝试是好的问题。问题的标题并不能真正说明问题的性质,即在每个观察中找到最后一个非缺失变量。系统命名使它更容易一些,但这不是问题的核心。