Date 如何计算Stata中多个日期之间的差异?
对于宽格式的每个ID,我在Stata中有10个日期变量,我想检查两个连续日期之间的差异,并且两个连续日期之间的差异不应小于8天这些类型的任务通常更容易使用长格式的面板数据: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
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这达到你的目标了吗?