【发布时间】:2018-08-06 15:47:20
【问题描述】:
我必须reshape 我的数据集从宽到长。我有 500 个变量,范围从 2016 年到 2007 年,记录为abcd2016 等等。我需要一个允许我 reshape 而不写所有变量名称的程序,然后我运行:
unab vars : *2016
local stubs16 : subinstr local vars "2016" "", all
unab vars : *2015
local stubs15 : subinstr local vars "2015" "", all
以此类推,然后:
reshape long `stubs16' `stubs15' `stubs14' `stubs13' `stubs12' `stubs11' `stubs10' `stubs09' `stubs08' `stubs07', i(id) j(year)
但我得到了错误
invalid syntax
r(198);
为什么?你能帮我解决它吗?
【问题讨论】:
-
一组存根就足够了!
-
@NickCox 我不熟悉这种语法和这些命令,所以谢谢你的评论,我会听从你的建议。
-
这个建议的一个早期来源是stata.com/support/faqs/data-management/problems-with-reshape,其中使用一个存根是明确的。如果变量是
a2016 b2016 c2016 a2017 b2017,您需要使用*2016,即您使用的通配符必须包含您需要的所有前缀。
标签: syntax-error stata reshape stubs