Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 如何计算Stata中多个日期之间的差异?_Date_Stata - Fatal编程技术网

Date 如何计算Stata中多个日期之间的差异?

Date 如何计算Stata中多个日期之间的差异?,date,stata,Date,Stata,对于宽格式的每个ID,我在Stata中有10个日期变量,我想检查两个连续日期之间的差异,并且两个连续日期之间的差异不应小于8天这些类型的任务通常更容易使用长格式的面板数据: clear /* clean up data */ input str20(id visit1 visit2 visit3 visit4) 001 "2/3/2014" "2/5/2014" "2/7/2014" "2/10/2014" 002

对于宽格式的每个ID,我在Stata中有10个日期变量,我想检查两个连续日期之间的差异,并且两个连续日期之间的差异不应小于8天

这些类型的任务通常更容易使用长格式的面板数据:

clear

/* clean up data */
input str20(id visit1 visit2 visit3 visit4)
001 "2/3/2014" "2/5/2014" "2/7/2014" "2/10/2014"
002 "2/3/2014" "2/5/2014" "2/7/2014" "2/10/2014"
004 "2/19/2014" "2/21/2014" "2/24/2014" "2/26/2014"
005 "2/28/2014" "3/4/2014" "3/6/2014" "3/10/2014"
008 "3/14/2014" "3/18/2014" "3/20/2014" "3/25/2014"
end

foreach var of varlist visit* {
    gen t = date(`var',"MDY")
    format t %td
    drop `var'
    rename t `var'
}

/* reshape to long format */
destring id, gen(non_str_id)
reshape long visit, i(non_str_id) j(t)

xtset non_str_id t
assert D.visit > 8 & !missing(D.visit)

/* reshape back to wide after fixing problematic data */
drop non_str_id
reshape wide visit, i(id) j(t)

您可以发布一些样本数据吗?id visit1 visit2 visit3 visit4 001 2/3/2014 2/5/2014 2/7/2014 2/10/2014 002 2/3/2014 2/5/2014 2/7/2014 2/10/2014 004 2/19/2014 2/21/2014 2/24/2014 2/26/2014 005 2/28/2014 3/4/2014 3/6/2014 3/10 0082014年3月14日2014年3月18日2014年3月20日2014年3月25日这些是字符串还是格式异常的
td
变量?这些是格式异常的变量,对于一个统计问题,dataex相当于dput。请用这个。@Tom这达到你的目标了吗?