我在CSV中有日期,这是我第一次遇到这个问题,在将日期从CSV转换为Stata时,我得到了缺失值。我通常使用:
我有一个来自Excel的变量'xdate‘
gen = stata_date (xdate,"mdy")
这通常是有效的,但是对于这个数据集,我得到了所有缺少的值。
在Excel中,格式类别是日期,类型是*3/14/2001。奇怪的是,当我将格式更改为自定义mm/dd/yyyy (当我现在转到自定义时,它是在m/d/yyyy上),然后重新运行我的.DO,日期转换完美,但当我重新启动Stata并运行.DO而没有手动更改时,我得到了所有缺少的值。
有什么想法吗?
发布于 2012-10-10 08:04:12
添加:2012-10-13--另一个Stata用户指出,date()函数中的"MDY“应该是"mdy”。
如果修复此错误不能解决问题,请检查CSV文件以找出您输入的内容Stata:
clear
set obs 1
gen xdate = "3/14/2001"
split xdate, p("/")
·-split-如果字符串date中存在除"/“以外的任何非数字字符,则会报错。要了解它们是什么,我推荐Nick Cox的-charlist- command (来自SSC)。
·xdate1、xdate2和xdate3应为月、日和年。您可以使用-tab- and -codebook-检查它们。在修复所有错误之后,创建日期的简单方法是:
gen xmonth = real(xdate1)
gen xday = real(xdate2)
gen xyear = real(xdate3)
gen newdate=mdy(xmonth,xday,xyear)
https://stackoverflow.com/questions/12659028
复制相似问题