<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: time varying exposure with unevenly spaced time intervals in SAS Data Management</title>
    <link>https://communities.sas.com/t5/SAS-Data-Management/time-varying-exposure-with-unevenly-spaced-time-intervals/m-p/441173#M13607</link>
    <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have; 
input id	date :mmddyy10.	med	;
format date mmddyy10.;
datalines;
1	4/30/2015	2
1	5/6/2015	2
1	8/31/2015	1
1	11/30/2015	1
1	3/8/2016	2
1	6/7/2016	2
1	9/20/2016	2
2	3/26/2015	2
2	8/25/2015	2
2	11/24/2015	3
2	2/23/2016	3
2	10/3/2016	2
3	4/7/2016	1
3	5/19/2016	1
;

data temp;
set have;
by 	 id med notsorted;
if first.med then group+1;
run;
proc sql;
select  distinct id,min(date) as start format=mmddyy10.,
 max(date) as end format=mmddyy10., med
 from temp
  group by group;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 01 Mar 2018 12:31:59 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2018-03-01T12:31:59Z</dc:date>
    <item>
      <title>time varying exposure with unevenly spaced time intervals</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/time-varying-exposure-with-unevenly-spaced-time-intervals/m-p/441093#M13603</link>
      <description>&lt;P&gt;I have a dataset in long form that is mutliple rows per id, and each row is a prescription. It is possible to switch back and forth between medications. I would like to create a wide dataset with date intervals that indicate the duration that each person has a prescription for the drug in the order that they occur.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data have;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;id&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;med&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4/30/2015&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;5/6/2015&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;8/31/2015&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;11/30/2015&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3/8/2016&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;6/7/2016&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;9/20/2016&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3/26/2015&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;8/25/2015&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;11/24/2015&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2/23/2016&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;10/3/2016&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;4/7/2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;5/19/2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data want&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;id&lt;/TD&gt;&lt;TD&gt;date_start&lt;/TD&gt;&lt;TD&gt;date_end&lt;/TD&gt;&lt;TD&gt;med&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4/30/2015&lt;/TD&gt;&lt;TD&gt;5/6/2015&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;8/31/2015&lt;/TD&gt;&lt;TD&gt;11/30/2015&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3/8/2016&lt;/TD&gt;&lt;TD&gt;9/20/2016&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3/26/2015&lt;/TD&gt;&lt;TD&gt;8/25/2015&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;11/24/2015&lt;/TD&gt;&lt;TD&gt;2/23/2016&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;10/3/2016&lt;/TD&gt;&lt;TD&gt;10/3/2016&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;4/7/2016&lt;/TD&gt;&lt;TD&gt;5/19/2016&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Thu, 01 Mar 2018 02:02:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/time-varying-exposure-with-unevenly-spaced-time-intervals/m-p/441093#M13603</guid>
      <dc:creator>psh23</dc:creator>
      <dc:date>2018-03-01T02:02:31Z</dc:date>
    </item>
    <item>
      <title>Re: time varying exposure with unevenly spaced time intervals</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/time-varying-exposure-with-unevenly-spaced-time-intervals/m-p/441104#M13604</link>
      <description>&lt;P&gt;This is a straightforward SET&amp;nbsp; with a BY statement task:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  input id date :mmddyy10. med ;
  format date date9.;
datalines;
1 4/30/2015 2 
1 5/6/2015 2 
1 8/31/2015 1 
1 11/30/2015 1 
1 3/8/2016 2 
1 6/7/2016 2 
1 9/20/2016 2 
2 3/26/2015 2 
2 8/25/2015 2 
2 11/24/2015 3 
2 2/23/2016 3 
2 10/3/2016 2 
3 4/7/2016 1 
3 5/19/2016 1 
run;
data want (keep=id med startdate enddate);
  set have ;
  by id med notsorted;
  if first.med then startdate=date;
  retain startdate;
  if last.med;
  enddate=date;
  format startdate enddate date9.;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Note I use the NOTSORTED option in the BY statement.&amp;nbsp; This tells SAS that medication records are physically grouped, but not necessarily in ascending or descending order.&lt;/P&gt;</description>
      <pubDate>Thu, 01 Mar 2018 03:34:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/time-varying-exposure-with-unevenly-spaced-time-intervals/m-p/441104#M13604</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2018-03-01T03:34:46Z</dc:date>
    </item>
    <item>
      <title>Re: time varying exposure with unevenly spaced time intervals</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/time-varying-exposure-with-unevenly-spaced-time-intervals/m-p/441105#M13605</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have; 
input id	date :mmddyy10.	med	;
format date mmddyy10.;
datalines;
1	4/30/2015	2
1	5/6/2015	2
1	8/31/2015	1
1	11/30/2015	1
1	3/8/2016	2
1	6/7/2016	2
1	9/20/2016	2
2	3/26/2015	2
2	8/25/2015	2
2	11/24/2015	3
2	2/23/2016	3
2	10/3/2016	2
3	4/7/2016	1
3	5/19/2016	1
;

data temp;
set have;
by 	 id med notsorted;
if first.med or last.med;
run;


proc transpose data=temp out=_temp(drop=_name_ rename=(col1=startdate col2=enddate));
by id med notsorted;
var date;
run;

data want;
set _temp;
if missing(enddate) then enddate=startdate;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 01 Mar 2018 03:37:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/time-varying-exposure-with-unevenly-spaced-time-intervals/m-p/441105#M13605</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-03-01T03:37:28Z</dc:date>
    </item>
    <item>
      <title>Re: time varying exposure with unevenly spaced time intervals</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/time-varying-exposure-with-unevenly-spaced-time-intervals/m-p/441173#M13607</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have; 
input id	date :mmddyy10.	med	;
format date mmddyy10.;
datalines;
1	4/30/2015	2
1	5/6/2015	2
1	8/31/2015	1
1	11/30/2015	1
1	3/8/2016	2
1	6/7/2016	2
1	9/20/2016	2
2	3/26/2015	2
2	8/25/2015	2
2	11/24/2015	3
2	2/23/2016	3
2	10/3/2016	2
3	4/7/2016	1
3	5/19/2016	1
;

data temp;
set have;
by 	 id med notsorted;
if first.med then group+1;
run;
proc sql;
select  distinct id,min(date) as start format=mmddyy10.,
 max(date) as end format=mmddyy10., med
 from temp
  group by group;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 01 Mar 2018 12:31:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/time-varying-exposure-with-unevenly-spaced-time-intervals/m-p/441173#M13607</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2018-03-01T12:31:59Z</dc:date>
    </item>
  </channel>
</rss>

