楼主: 20120095
735 15

[数据管理求助] STATA数据处理的问题 [分享]

  • 0关注
  • 0粉丝

大专生

61%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
16.7664
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
488 点
帖子
37
精华
0
在线时间
22 小时
注册时间
2012-12-11
最后登录
2020-7-5

20120095 发表于 2020-6-27 20:27:54 |显示全部楼层
在下载的数据中,公司的对应的年份不是数值型的,而是年月日的字符串型的,比如2007-12-31这种状况。现在想生成面板数据,用什么命令可以将2007-12-31的字符型,转为数值型的2007?
关键词:stata数据处理 STATA数据 Stata tata 数据处理

stata SPSS
欣心兰 发表于 2020-6-27 20:41:51 |显示全部楼层
楼主好,试试
  1. gen year = year(date) // 如果您的“年月日的字符串型”变量名为“date”
复制代码
回复

使用道具 举报

20120095 发表于 2020-6-27 20:43:34 |显示全部楼层
欣心兰 发表于 2020-6-27 20:41
楼主好,试试
多谢!
回复

使用道具 举报

20120095 发表于 2020-6-27 20:47:01 |显示全部楼层
很遗憾,不行字符型和数值型的不能放在一个表达式中。
回复

使用道具 举报

DΘstinyじò 发表于 2020-6-27 21:40:37 来自手机 |显示全部楼层
20120095 发表于 2020-6-27 20:47
很遗憾,不行字符型和数值型的不能放在一个表达式中。
试一下,先把年份字符串提取出来,然后转为数值型。接上面的定义,你的变量为date。
gen  year_temp=substr(date,1,4)
destring year_temp,gen(year)
回复

使用道具 举报

DΘstinyじò 发表于 2020-6-27 21:53:01 |显示全部楼层
20120095 发表于 2020-6-27 20:47
很遗憾,不行字符型和数值型的不能放在一个表达式中。
或者就是按照楼上的思路(之前,你没有明确你的变量的数据类型,才会出现不匹配的问题)
gen year =year(date(date,"YMD"))


回复

使用道具 举报

Getuptian 发表于 2020-6-27 23:29:44 |显示全部楼层
split var ,p("-")
字符型可用split命令拆分变量,将2007-12-31以-为分隔依据,拆分变量。
回复

使用道具 举报

20120095 发表于 2020-6-28 08:18:39 |显示全部楼层
Getuptian 发表于 2020-6-27 23:29
split var ,p("-")
字符型可用split命令拆分变量,将2007-12-31以-为分隔依据,拆分变量。
多谢!我试试。
回复

使用道具 举报

20120095 发表于 2020-6-28 08:19:03 |显示全部楼层
Getuptian 发表于 2020-6-27 23:29
split var ,p("-")
字符型可用split命令拆分变量,将2007-12-31以-为分隔依据,拆分变量。
多谢!我试试
回复

使用道具 举报

20120095 发表于 2020-6-28 08:46:07 |显示全部楼层
Getuptian 发表于 2020-6-27 23:29
split var ,p("-")
字符型可用split命令拆分变量,将2007-12-31以-为分隔依据,拆分变量。
多谢!我试试
回复

使用道具 举报

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

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

GMT+8, 2020-7-14 21:21