在Stata的数据集中,我想折叠所有数值变量(byte int long float double)。
首先,我尝试了以下内容:
collapse _all, by(countryyear)
这不起作用,因为它也试图折叠countryyear
。
接下来,我按如下方式修改了我的代码:
collapse S001 - country, by (countryyear)
type mismatch
r(109);
但是,我收到了一个错误,我认为这是因为并非所有变量都是数字的。
我还考虑过将if
限定符添加到collapse
,如下所示:
collapse _all if type==byte int long float double, by(countryyear)
如何解决此问题?
答案 0 :(得分:1)
您当然可以向if
添加collapse
限定符。记录在案。但是,您的特殊情况距离合法还有很长的路要走。我建议采用不同的策略:
ds, has(type numeric)
local numeric `r(varlist)'
local byvar countryyear
local numeric : list numeric - byvar
collapse `numeric', by(countryyear)