在双边案例交叉设计中创建控制日期 [英] Create control dates in bilateral case crossover design

查看:15
本文介绍了在双边案例交叉设计中创建控制日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我计划研究空气污染对急诊室就诊的影响,我打算采用双边病例交叉设计。对于每个病例(就诊),我想创建4个控制日期(就诊前7天和就诊后14天)。例如,如果一个人在2012年9月10日去看诊所,我的控制将是8月27日、9月3日、9月17日和9月24日。下面的例子说明了我所拥有的和我想要实现的。

如有任何关于如何在SAS、STATA或R中进行此工作的想法,我们将不胜感激

样本数据(均为访问日期)

id  date  
-------------
1   04-jan-05
2   05-jan-05
3   05-jan-05
4   06-jan-05
5   06-feb-05

我希望实现的目标(每个id有一个案例和4个控件)

id  date        outcome
---------------------------
1   21-Dec-04   control
1   28-Dec-04   control
1   04-Jan-05   case
1   11-Jan-05   control
1   18-Jan-05   control
2   22-Dec-04   control
2   29-Dec-04   control
2   05-Jan-05   case
2   12-Jan-05   control
2   19-Jan-05   control
3   22-Dec-04   control
3   29-Dec-04   control
3   05-Jan-05   case
3   12-Jan-05   control
3   19-Jan-05   control
4   23-Dec-04   control
4   30-Dec-04   control
4   06-Jan-05   case
4   13-Jan-05   control
4   20-Jan-05   control
5   23-Jan-05   control
5   30-Jan-05   control
5   06-Feb-05   case
5   13-Feb-05   control
5   20-Feb-05   control

推荐答案

一个简单的循环将产生所需的输出。

data have;
input id  date :date10.;
format date date9.;
datalines;
1   04-jan-05
2   05-jan-05
3   05-jan-05
4   06-jan-05
5   06-feb-05
;
run;

data want (drop=i date rename=(date1=date));
set have;
format date1 date9.;
length outcome $8;
do i=-14 to 14 by 7;
    date1=date+i;
    outcome=ifc(i=0,'case','control');
    output;
end;
run;

这篇关于在双边案例交叉设计中创建控制日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆