楼主: lancelot22
4755 9

[数据管理求助] 为什么STATA分组求和的结果不准确?? [推广有奖]

  • 1关注
  • 1粉丝

本科生

20%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
1.0000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
535 点
帖子
21
精华
0
在线时间
129 小时
注册时间
2018-4-7
最后登录
2021-10-9

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如图,用了STATA对stkcd按分组求和,但是求和结果和EXCEL求和结果不一样呐,而且之前用计算器算了一下,是EXCEL的求和结果准确。EXCEL表格数据如下:
stkcdaccpertyprepfasfa
5922011/9/30A268805657.9268805657.9
5922009/9/30A94134824.9394134824.93
5922008/6/30A88841894.8288841894.82
5922012/9/30A257707249.3257707249.3
5922016/6/30A224507443224507443
5922008/1/1A708930.52708930.52
5922010/12/31A268676616.3268676616.3



EXCEL对sfa求和的结果是1203382617。

使用STATA的命令是:
bys stkcd:egen totalsfa=sum(sfa)
format %15.10g totalsfa  (这个命令用于调整数据显示格式,不然是科学记数法不够精确)

STATA算出来的结果是1203382656

请问这是为什么呢????有什么解决方法吗????
二维码

扫码加我 拉你入群

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

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


回帖推荐

黃河泉 发表于3楼  查看完整内容

加上 double 即可 (Rich Goldstein 建议):

蓝色 发表于5楼  查看完整内容

就是一个读取精度的问题。 1、往stata里面读取数据的时候,按照双精度的格式读取 double 格式的 2、产生求和的时候 产生双精度格式的 bys stkcd:egen double totalsfa=sum(sfa) format %15.10g totalsfa list
沙发
lancelot22 发表于 2018-4-7 16:25:19 |只看作者 |坛友微信交流群
请教各位大神,非常感谢~!

使用道具

藤椅
黃河泉 在职认证  发表于 2018-4-8 08:06:19 |只看作者 |坛友微信交流群
加上 double 即可 (Rich Goldstein 建议):
  1. // https://bbs.pinggu.org/thread-6313880-1-1.html
  2. clear
  3. input stkcd        str10 accper str2        typrep        double(fa        sfa)
  4. 592        "2011/9/30" A        268805657.9        268805657.9
  5. 592        "2009/9/30" A        94134824.93        94134824.93
  6. 592        "2008/6/30" A        88841894.82        88841894.82
  7. 592        "2012/9/30" A        257707249.3        257707249.3
  8. 592        "2016/6/30" A        224507443        224507443
  9. 592        "2008/1/1"  A        708930.52        708930.52
  10. 592        "2010/12/3"        A        268676616.3        268676616.3
  11. end
  12. format sfa %15.2f
  13. bys stkcd: egen double totalsfa=sum(sfa)
  14. format totalsfa %15.2f
复制代码

使用道具

板凳
黃河泉 在职认证  发表于 2018-4-8 08:06:44 |只看作者 |坛友微信交流群
1.        你若要问程序 (code),请附上资料;你若要附上资料,请用 dataex 印出资料。
2.        尔后建议请用 dataex (先 ssc install dataex 并见说明) 将原始 Stata 资料中具有”代表性”的一部分资料列出,以供有意回答者实验之用,并能提供具体操作指令。并请参考 http://www.jianshu.com/p/9870080fe769,  https://bbs.pinggu.org/thread-5048204-1-1.html, 与 https://bbs.pinggu.org/thread-5917273-1-1.html

使用道具

报纸
蓝色 发表于 2018-4-8 08:28:03 |只看作者 |坛友微信交流群
就是一个读取精度的问题。

1、往stata里面读取数据的时候,按照双精度的格式读取
double 格式的
2、产生求和的时候 产生双精度格式的
bys stkcd:egen double totalsfa=sum(sfa)
format %15.10g totalsfa
list

使用道具

地板
j610f2012 在职认证  发表于 2018-4-8 10:13:28 |只看作者 |坛友微信交流群
数据是复制还是导入stata里面的?
导入进去的精度会高一些

使用道具

7
lancelot22 发表于 2018-4-8 19:54:52 |只看作者 |坛友微信交流群
蓝色 发表于 2018-4-8 08:28
就是一个读取精度的问题。

1、往stata里面读取数据的时候,按照双精度的格式读取
嗯嗯!非常感谢!!!!!!!

使用道具

8
lancelot22 发表于 2018-4-8 19:58:01 |只看作者 |坛友微信交流群
黃河泉 发表于 2018-4-8 08:06
加上 double 即可 (Rich Goldstein 建议):
嗯嗯!非常感谢您!!!!

使用道具

9
lancelot22 发表于 2018-4-8 19:58:37 |只看作者 |坛友微信交流群
j610f2012 发表于 2018-4-8 10:13
数据是复制还是导入stata里面的?
导入进去的精度会高一些
试过了复制和导入两种办法,但是现在已经找到答案了!感谢感谢!

使用道具

10
lancelot22 发表于 2018-4-8 19:58:37 |只看作者 |坛友微信交流群
j610f2012 发表于 2018-4-8 10:13
数据是复制还是导入stata里面的?
导入进去的精度会高一些
试过了复制和导入两种办法,但是现在已经找到答案了!感谢感谢!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-11-5 12:46