如何在Stata 13中创建仅包含年月的日期变量?
解决Stata 13中从Excel列提取年月创建日期变量的问题
我来帮你搞定这个问题!Stata的date()函数默认需要完整的日/月/年信息,直接用"MY"格式会因为缺少日的部分无法正确识别,所以咱们换更合适的方法来处理:
情况1:month_year是字符串格式(比如"2023-10"、"Oct-2023"或"10/2023")
如果你的month_year是字符串,我们可以先给它补上一个固定的日(比如每月1号),再转换成日期:
- 若格式为
YYYY-MM(如"2023-10"):// 拼接"-01"得到完整日期字符串,再转换 gen new_date = date(month_year + "-01", "YMD") // 设置显示格式为年月样式 format new_date %tm - 若格式为
MM-YYYY或MM/YYYY(如"10-2023"、"10/2023"):// 拼接"01-"得到完整日期字符串,再转换 gen new_date = date("01-" + month_year, "DMY") format new_date %tm - 若格式为英文月份+年份(如"Oct-2023"):
gen new_date = date(month_year + "-01", "MYD") format new_date %tm
情况2:month_year是数值格式(比如202310代表2023年10月)
这种情况用Stata专门的ym()函数最方便,它直接接受年份和月份生成日期变量:
// 提取年份(除以100取整)和月份(取100的余数) gen new_date = ym(floor(month_year/100), mod(month_year, 100)) // 设置显示格式为年月 format new_date %tm
验证结果
执行完命令后,可以用以下命令检查转换是否正确:
list month_year new_date in 1/10
或者查看变量属性确认:
describe new_date
这样处理后,new_date就是一个仅显示年月的日期变量,完全符合你的需求啦!
内容的提问来源于stack exchange,提问作者Farai Mugaviri
相关产品推荐
相关产品推荐

