use*_*130 4 integer scientific-notation stata
使用该list命令时,是否可以显示整数的附加数字(理想情况下是完整整数),而不是以科学计数法显示?
例如,现在,我有一个显示为 1.90e+10 的整数,而我认为完整值是 19001000001。理想情况下,我想获得完整值,或者至少在提供的两个小数点之外获得额外的小数点(即 9 和 0)。
我正在使用 Stata SE 11.1。
format使用前用命令设置显示格式即可list。
. set obs 1
obs was 0, now 1
. gen double y = 987654321
. l y
+-----------+
| y |
|-----------|
1. | 9.877e+08 |
+-----------+
. format y %16.0f
. l y
+-----------+
| y |
|-----------|
1. | 987654321 |
+-----------+
Run Code Online (Sandbox Code Playgroud)
如果list不播放,它的display选项将强制使用显示格式。在这个例子中不需要。在format这里我选择是武断的。Stata 往往不会插入不需要的空格,因此只需选择一个比整数长度更大的数字即可。
(稍后)关注你的例子:你给出了一个整数的例子,应该是 19001000001。假设这对你来说是一个真实的(或现实的)例子,请注意floattype 没有使用足够的位来准确地保存它,long不能保存那么大的整数,而将其保存为数字变量的唯一可能性是double.
. set obs 1
obs was 0, now 1
. gen y1 = 19001000001
. gen double y2 = 19001000001
. gen long y3 = 19001000001
. l
+---------------------------+
| y1 y2 y3 |
|---------------------------|
1. | 1.90e+10 1.900e+10 . |
+---------------------------+
. format y* %16.0f
. l
+--------------------------------+
| y1 y2 y3 |
|--------------------------------|
1 . | 19000999936 19001000001 . |
+--------------------------------+
Run Code Online (Sandbox Code Playgroud)
另一方面,您可以信任什么样的计数或测量精度?可能这是某种恰好基于数字字符的标识符,在这种情况下,将其作为string变量保存会使某些事情变得更容易,具体取决于您想用它做什么。