将标量从sif转换为hrf

时间:2018-10-23 15:23:26

标签: format stata scalar

我正在遍历一组包含季度sif值的标量。我想将它们转换为hrf格式,并保存在标量中。

但是,我发现format %tq仅接受变量。因此,唯一的解决方法似乎是:i)将标量转换为变量ii)应用format %tq iii)将变量转换为标量。

是否有更优雅,更快捷的方法来做到这一点? (我正在使用Stata MP 15.1)

1 个答案:

答案 0 :(得分:1)

您可以使用字符串标量,因此可以执行此操作。我看不出为什么会有用,但这可能是想象力的失败。您可以向我们说明为什么要这样做。

. scalar foo = yq(2018, 4)

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

. scalar list
       foo = 2018q4

与标量完全不同的是,毫无意义地将显示格式附加到标量或与标量关联。您可以将数字日期或字符串日期保存在标量中,但这是唯一的选择。适当时,您不能在Stata用来显示的一面使用数字格式。您尝试format标量时发现了这一点。

善良知道这是更快(比什么?)还是更优雅(由谁决定?)。主要区别在于,变量显然可以包含许多日期,并且使用format进行一次更改后的格式可以始终如一地应用到它们,而到目前为止,每次更改时,更改一堆标量的显示方式都需要循环我所看到的。此外,从上可知,您可能需要保留两组标量,一组用于计算,一组用于显示。

我使用了日期常量,通常发现我直接使用它们(减去2000为基数不需要将其放入任何内容)或使用局部宏来保存它们。但是我看不到使用标量有什么问题,除了可能是间接的。