Свернуть, если байт int long float double - PullRequest
0 голосов
/ 31 мая 2018

В наборе данных в 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)

Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 31 мая 2018

Вы, безусловно, можете добавить if квалификатор к collapse.Это задокументировано.Однако ваше конкретное состояние далеко от юридического.Я бы предложил другую стратегию:

ds, has(type numeric)  
local numeric `r(varlist)' 
local byvar countryyear 
local numeric : list numeric - byvar 
collapse `numeric', by(countryyear) 
...