Конвертировать скаляр из сиф в хрф - PullRequest
0 голосов
/ 23 октября 2018

Я зацикливаюсь на наборе скаляров, которые содержат квартальные значения SIF.Я хотел бы преобразовать их в формат hrf и сохранить их в скалярах.

Однако я обнаружил, что format %tq принимает только переменные.Следовательно, кажется, что единственным обходным решением является i) преобразование скаляра в переменную ii) применение format %tq iii) преобразование переменной в скаляр.

Есть ли более элегантный и быстрый способ сделать это?(Я использую Stata MP 15.1.)

1 Ответ

0 голосов
/ 23 октября 2018

Вы можете иметь строковые скаляры, так что вы можете сделать это.Я не понимаю, почему это было бы полезно, но это может быть неудачей воображения;Вы могли бы просветить нас о том, почему вы этого хотите.

. scalar foo = yq(2018, 4)

. scalar foo = string(scalar(foo), "%tq")

. scalar list
       foo = 2018q4

Что отличается от скаляров, так это то, что нет никакого смысла в том, чтобы формат отображения был присоединен или связан со скаляром.Вы можете хранить числовую дату или строковую дату в скаляре, но это единственный выбор.Вы не можете иметь числовое значение с форматом сбоку, который Stata будет использовать для отображения, когда это необходимо.Вы узнали это, когда попытались format скаляр.

Боже мой, знает ли это быстрее (чем что?) Или более элегантно (кто решает?).Основное отличие состоит в том, что переменная явно может содержать много дат, и измененный формат, созданный только один раз с помощью format, может применяться к ним последовательно, тогда как изменение способа отображения группы скаляров требует цикла каждый раз, когда вы делаете это, пока яможно увидеть.Кроме того, из вышеизложенного следует, что вам может потребоваться сохранить два набора скаляров, один числовой для расчета и одну строку для отображения.

Я использовал константы даты и, как правило, обнаружил, что либо я использую их напрямую (вычитая 2000 в качестве базы, не требуя их помещать во что-либо), либо использую локальные макросы для их хранения.Но я не вижу ничего плохого в использовании скаляров, кроме, возможно, косвенного.

...