全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2976 4
2015-08-29
STATA新手有急事相求!!先谢过各位高手!

我现有数据

V1        V2                           V3                 期望的结果V4

1      2000/12/1                2000                    1999
1      1999/1/1                  1999                   1999
2      2010/1/1                  2010                    2010
3      2001/10/2                2001                    1995
3      1995/4/3                  1995                    1995
3      2001/11/2                2001                    1995

V2原来是str类型,实际意义是日期,我只需要知道年份,所以经过split    encode,我生成了V3。然后我希望根据V1,取相同V1中最小的年份,我的命令是  bysort V1:egen V4=min(V3),但没有取得期望的结果,处理结果是一些3位数的数字。

我以前用相同的命令做过类似的数据,唯一的区别就是以前的变量V3本来就是long类型,显示字体是和V1相同的黑色;而这次的V3是经过前期处理得到的,字体显示为蓝色,请问这是什么原因,我应该怎么办?
二维码

扫码加我 拉你入群

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

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

全部回复
2015-8-29 13:11:00
红色是肯定不行的,蓝色的话应该不影响。你把蓝色的复制粘贴到EXCEL上,然后再从EXCEL上复制粘贴到Stata上就变成黑色的。红色的部分在Stata不行是因为/的不是Stata识别的。
二维码

扫码加我 拉你入群

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

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

2015-8-29 13:16:35
数据量太大,EXCEL无法处理,所以才会用STATA。
在黑色字体下,我用egen newvar=min(V1),得到的结果完全符合期望,在蓝色字体下,我用egen newvar=min(V3),得到的结果居然是1。
二维码

扫码加我 拉你入群

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

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

2015-8-29 13:26:23
已解决。用destring 代替 encode转换变量类型,就OK了。
不过对两者的区别不是很理解,能有高手解释一下吗?
二维码

扫码加我 拉你入群

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

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

2015-8-29 23:41:26
fujingchi 发表于 2015-8-29 13:26
已解决。用destring 代替 encode转换变量类型,就OK了。
不过对两者的区别不是很理解,能有高手解释一下吗 ...
destring把被储存成文本的数字转换成数字。encode用数字代表文本。数据本来是文本。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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