本站分享:AI、大数据、数据分析师培训认证考试,包括:Python培训Excel培训Matlab培训SPSS培训SAS培训R语言培训Hadoop培训Amos培训Stata培训Eviews培训

Stata中数据转换格式转换问题_stata数据格式转换

stata培训 cdadata 15488℃

Stata中数据转换格式转换问题

关键词:stata数据格式转换stata 转换日期格式stata面板数据格式stata 数据类型转换stata转换成面板数据stata 日期数据格式

Stata中数据格式的转换问题一直让我很头疼。我有两个数据库,同一个yeartime变量,都显示为yyyymm的格式,例如200110.
但是在一个数据库中为long %12.0g,另一个数据库中为float %tmCCYYNN.我要用yeartime 这个变量对两个数据库进行合并。数据格式无论如何转化都不行。请高手教教我怎么处理呢?


精彩回答:

假设时间变量名为v1,显示为yyyymmdd的形式
对于v1是数字格式的情况,可用如下代码转换为Stata时间日期格式
gen year=int(v1/10000)
gen month=int((v1-year*10000)/100)
gen day=int((v1-year*10000-month*100))
gen date=mdy(month,day,year)
format date %td
对于v1是字符串格式的情况,可使用如下代码:
gen date=date(v1,”YMD”)
format date %td


追问:

谢谢你回复啊!我被这个日期格式搞疯了要。我输入%td格式,为什么一转成月份数据就直接变样子了啊。例如
01nov1999在%td格式下面,但是一转成%tm的就变成3172m6。为什么会有这种问题出现啊,请你教教我吧!谢谢啦!
还有,如果将日期型数据转化为数值型或者字符型该怎么能保证显示跟之前的日期型数据是一致的。我用你提到的类似的方法将月份型数据2012022转化为字符型的,g begin=string(year(yeartime)*10^2+month(yeartime,”%6.0f”),结果出来的是196109,不知道怎么回事啊!

你第一个问题,把日数据变成月度数据:
还是假设时间变量名为v1
gen ym=mofd(v1)
format ym %tm
如果变成年度数据;
gen Year=year(DateAnnounced)
如果变成季度数据:
gen yq=qofd(DateAnnounced)

对于你第二个问题,保证所有日期数据格式一直,最好的方法是吧各种格式的(字符串的,数字的)转变为Stata日期格式。

转载请注明:数据分析 » Stata中数据转换格式转换问题_stata数据格式转换

喜欢 (10)or分享 (0)