全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 统计软件培训班VIP答疑区
1628 3
2012-11-02
在stata里面gen一个变量的实际有效位数是7位,所以下面y ,y2,ynew用data editor看是一样的结果。而local显示的是8位。问题,怎么使得gen一个变量的实际有效位数是8位?

clear
set obs 100
gen y=0.98364740
gen y2=0.98364741
local temp=0.00000001
gen ynew=y-`temp'

format y %18.12f
format y2 %18.12f
format ynew %18.12f

---------------------------------
local temp=0.345677777
local temp2=0.768955555

di `temp'
di `temp2'


谢谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-11-3 22:44:22
help gen
gen 命令后可以指定新生成变量的存储类型,如
clear
set obs 10
gen double x = 3.00000001
format x %10.8f
br
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-4 21:58:36
arlionn 发表于 2012-11-3 22:44
help gen
gen 命令后可以指定新生成变量的存储类型,如
clear
谢谢连老师!

. local y=0.0000000000000000000001
. dis `y'
1.000e-22


. local y=0.00000000000000000000001
. dis `y'
00000000000000000000001 invalid name

是不是说明local的有效位数有22位?

--------------------------------------

gen命令用double,有效位数是16位,对吧?这是gen能得到的最多有效位数?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-11-5 17:13:06
可以尝试 dis %16.12f `y' 之类的命令,在显示过程中限定显示格式。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群