<?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: missing data imputed using LOCF in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/missing-data-imputed-using-LOCF/m-p/99783#M28005</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Very clever Haiko. It worked. Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 18 Oct 2012 14:48:05 GMT</pubDate>
    <dc:creator>michtka</dc:creator>
    <dc:date>2012-10-18T14:48:05Z</dc:date>
    <item>
      <title>missing data imputed using LOCF</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/missing-data-imputed-using-LOCF/m-p/99781#M28003</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;Hi everyone,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I got the next dataset:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; data new;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length subjid $8 day $10 value 8;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; input subjid day value;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; datalines;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; baseline 10&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; week2&amp;nbsp;&amp;nbsp; 12&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; week4&amp;nbsp;&amp;nbsp; 14&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; week8&amp;nbsp;&amp;nbsp; 16&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; week12&amp;nbsp; 12&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp; baseline 10&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp; week2&amp;nbsp;&amp;nbsp;&amp;nbsp; 12&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp; week4&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp; baseline&amp;nbsp; 10&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp; week2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3 week8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4 &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and i need to imputedthe missing data using the last observation carrried forward (LOCF) to obtain the (LOCF) dataset:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; baseline 10&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; week2&amp;nbsp;&amp;nbsp; 12&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; week4&amp;nbsp;&amp;nbsp; 14&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; week8&amp;nbsp;&amp;nbsp; 16&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; week12&amp;nbsp; 12&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp; baseline 10&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp; week2&amp;nbsp;&amp;nbsp;&amp;nbsp; 12&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp; week4&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;2&amp;nbsp;&amp;nbsp; week8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp; week12&amp;nbsp;&amp;nbsp; 10&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp; baseline&amp;nbsp; 10&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp; week2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;3 week4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3 week8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4 &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt; 3 week12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please, can you use some loop becuae in my real problem I've got 200 subjects.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thnaks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;V.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Oct 2012 13:43:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/missing-data-imputed-using-LOCF/m-p/99781#M28003</guid>
      <dc:creator>michtka</dc:creator>
      <dc:date>2012-10-18T13:43:16Z</dc:date>
    </item>
    <item>
      <title>Re: missing data imputed using LOCF</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/missing-data-imputed-using-LOCF/m-p/99782#M28004</link>
      <description>&lt;P&gt;I am sure there will be slicker approaches, but for now, I am suggesting the following:&lt;/P&gt;
&lt;P&gt;1. Use format to set up a proper order for loop, as your original data does not have a native one.&lt;/P&gt;
&lt;P&gt;2. Use 'lead' or 'look ahead' technique to define the boundary of the loop.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc format;
	value $seq
		'baseline'=1
		'week2'=2
		'week4'=3
		'week8'=4
		'week12'=5
	;
	value seq
		1='baseline'
		2='week2'
		3='week4'
		4='week8'
		5='week12'
	;
run;

data new;
	length subjid $8 day $10 value 8;
	input subjid day value;
	datalines;
1&amp;nbsp;&amp;nbsp; baseline 10
1&amp;nbsp;&amp;nbsp; week2 12
1&amp;nbsp;&amp;nbsp; week4 14
1&amp;nbsp;&amp;nbsp; week8 16
1&amp;nbsp;&amp;nbsp; week12 12
2&amp;nbsp;&amp;nbsp; baseline 10
2&amp;nbsp;&amp;nbsp; week2 12
2&amp;nbsp;&amp;nbsp; week4 10
3&amp;nbsp;  baseline 10
3&amp;nbsp;  week2 3
3   week8 4
;

data new1;
	set new;
	_day=put(day,$seq.);
run;

data want;
	set new1;
	by subjid notsorted;
	set new1(firstobs=2 keep=_day rename=(_day=__day)) new1(obs=1 drop=_all_);
	if not last.subjid then
		do _i=_day to __day-1;
			day=put(_i,seq.);
			output;
		end;
	else
		do _i=_day to 5;
			day=put(_i,seq.);
			output;
		end;
	drop _:;
run;

proc print;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Haikuo&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/31461"&gt;@mkeintz&lt;/a&gt;&amp;nbsp;writes (on 31Oct2016):&lt;/P&gt;
&lt;P&gt;Here it is four years later, and I am&amp;nbsp;looking for some comments on LOCF and came across this interesting thread. &amp;nbsp; &lt;A href="https://communities.sas.com/t5/SAS-Procedures/missing-data-imputed-using-LOCF/m-p/99784#M28006" target="_self"&gt;Data Null's suggestion&lt;/A&gt; reminded me of the flexibility and general usefulness of PROC SUMMARY.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But it also got me to ask whether there is a good one-step solution.&amp;nbsp; The code below is my answer.&amp;nbsp; I think it can be called a &lt;EM&gt;merge-with-offset-record&lt;/EM&gt; approach:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data new;
     length subjid $8 day $10 value 8;
     input subjid day value;
     datalines;
     1   baseline 10
     1   week2    12
     1   week4    14
     1   week8    16
     1   week12   12
     2   baseline 10
     2   week2    12
     2   week4    10
     3   baseline 10
     3   week2     3
     3   week8     4 
run;

data want (drop=_:);
  merge new 
        new (firstobs=2 keep=subjid day rename=(subjid=_nextsub day=_nextday) );

  do _f=findw("baseline week2 week4 week8 week12",trim(day),' ','e')
        to
        ifn(subjid^=_nextsub,5,findw("baseline week2 week4 week8 week12",
          trim(_nextday),' ','e')-1);
    output; 
    /* do not carry forward baseline values*/
    if day="baseline" then call missing(of value); 
    day=scan("baseline week2 week4 week8 week12",_f+1);
  end; 
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Feb 2017 14:20:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/missing-data-imputed-using-LOCF/m-p/99782#M28004</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2017-02-16T14:20:24Z</dc:date>
    </item>
    <item>
      <title>Re: missing data imputed using LOCF</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/missing-data-imputed-using-LOCF/m-p/99783#M28005</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Very clever Haiko. It worked. Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Oct 2012 14:48:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/missing-data-imputed-using-LOCF/m-p/99783#M28005</guid>
      <dc:creator>michtka</dc:creator>
      <dc:date>2012-10-18T14:48:05Z</dc:date>
    </item>
    <item>
      <title>Re: missing data imputed using LOCF</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/missing-data-imputed-using-LOCF/m-p/99784#M28006</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Consider a method that gets SAS to do most of the work.&amp;nbsp; The only real work here is creating the CLASSDATA, which may already exist in some form already. The OUT(vars) option on the IDGROUP option of the OUTPUT statement can be expanded to include other variable that need to be LOCFed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;DIV style="font-family: Courier New; font-size: 11pt;"&gt;&lt;SPAN style="text-decoration: line-through;"&gt;&lt;SPAN style="color: #000080; text-decoration: line-through; background-color: #ffffff;"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt; new;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; text-decoration: line-through; background-color: #ffffff;"&gt;length&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt; subjid $&lt;/SPAN&gt;&lt;SPAN style="color: #008080; text-decoration: line-through; background-color: #ffffff;"&gt;&lt;STRONG&gt;8&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt; day $&lt;/SPAN&gt;&lt;SPAN style="color: #008080; text-decoration: line-through; background-color: #ffffff;"&gt;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt; value &lt;/SPAN&gt;&lt;SPAN style="color: #008080; text-decoration: line-through; background-color: #ffffff;"&gt;&lt;STRONG&gt;8&lt;/STRONG&gt;&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; text-decoration: line-through; background-color: #ffffff;"&gt;input&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt; subjid day value;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; text-decoration: line-through; background-color: #ffffff;"&gt;datalines&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffc0;"&gt;1&amp;nbsp; baseline 10&lt;BR /&gt;1&amp;nbsp; week2&amp;nbsp;&amp;nbsp;&amp;nbsp; 12&lt;BR /&gt;1&amp;nbsp; week4&amp;nbsp;&amp;nbsp;&amp;nbsp; 14&lt;BR /&gt;1&amp;nbsp; week8&amp;nbsp;&amp;nbsp;&amp;nbsp; 16&lt;BR /&gt;1&amp;nbsp; week12&amp;nbsp;&amp;nbsp; 12&lt;BR /&gt;2&amp;nbsp; baseline 10&lt;BR /&gt;2&amp;nbsp; week2&amp;nbsp;&amp;nbsp;&amp;nbsp; 12&lt;BR /&gt;2&amp;nbsp; week4&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&lt;BR /&gt;3&amp;nbsp; baseline 10&lt;BR /&gt;3&amp;nbsp; week2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;BR /&gt;3&amp;nbsp; week8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4 &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;;;;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #000080; text-decoration: line-through; background-color: #ffffff;"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000080; text-decoration: line-through; background-color: #ffffff;"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt; classdata;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; text-decoration: line-through; background-color: #ffffff;"&gt;input&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt; day &lt;/SPAN&gt;&lt;SPAN style="color: #008080; text-decoration: line-through; background-color: #ffffff;"&gt;$10.&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; text-decoration: line-through; background-color: #ffffff;"&gt;cards&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffc0;"&gt;baseline&lt;BR /&gt;week2&lt;BR /&gt;week4&lt;BR /&gt;week8&lt;BR /&gt;week12&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;;;;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #000080; text-decoration: line-through; background-color: #ffffff;"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000080; text-decoration: line-through; background-color: #ffffff;"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #000080; text-decoration: line-through; background-color: #ffffff;"&gt;&lt;STRONG&gt;summary&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; text-decoration: line-through; background-color: #ffffff;"&gt;nway&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; text-decoration: line-through; background-color: #ffffff;"&gt;data&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;=new &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; text-decoration: line-through; background-color: #ffffff;"&gt;classdata&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;=classdata &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; text-decoration: line-through; background-color: #ffffff;"&gt;order&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;=data;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; text-decoration: line-through; background-color: #ffffff;"&gt;by&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt; subjid;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; text-decoration: line-through; background-color: #ffffff;"&gt;class&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt; day;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; text-decoration: line-through; background-color: #ffffff;"&gt;output&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; text-decoration: line-through; background-color: #ffffff;"&gt;out&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;=new2(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; text-decoration: line-through; background-color: #ffffff;"&gt;drop&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;=_freq_ _type_) &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; text-decoration: line-through; background-color: #ffffff;"&gt;idgroup&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; text-decoration: line-through; background-color: #ffffff;"&gt;out&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;(value)=);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #000080; text-decoration: line-through; background-color: #ffffff;"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000080; text-decoration: line-through; background-color: #ffffff;"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt; new2;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; text-decoration: line-through; background-color: #ffffff;"&gt;update&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt; new2(obs=&lt;/SPAN&gt;&lt;SPAN style="color: #008080; text-decoration: line-through; background-color: #ffffff;"&gt;&lt;STRONG&gt;0&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;) new2;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; text-decoration: line-through; background-color: #ffffff;"&gt;by&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt; subjid;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; text-decoration: line-through; background-color: #ffffff;"&gt;output&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #000080; text-decoration: line-through; background-color: #ffffff;"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; text-decoration: line-through; background-color: #ffffff;"&gt;;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV style="font-family: Courier New; font-size: 11pt;"&gt;&lt;BR /&gt;Edit: Baseline is not carried forward.&lt;/DIV&gt;&lt;DIV style="font-family: Courier New; font-size: 11pt;"&gt; &lt;/DIV&gt;&lt;DIV style="font-family: Courier New; font-size: 11pt;"&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;data&lt;/STRONG&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; new;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;length&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; subjid $&lt;/SPAN&gt;&lt;STRONG style="color: #008080; background-color: #ffffff;"&gt;8&lt;/STRONG&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; day $&lt;/SPAN&gt;&lt;STRONG style="color: #008080; background-color: #ffffff;"&gt;10&lt;/STRONG&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; value &lt;/SPAN&gt;&lt;STRONG style="color: #008080; background-color: #ffffff;"&gt;8&lt;/STRONG&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;input&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; subjid day value;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;datalines&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffc0;"&gt;1&amp;nbsp; baseline 10&lt;BR /&gt;1&amp;nbsp; week2&amp;nbsp;&amp;nbsp;&amp;nbsp; 12&lt;BR /&gt;1&amp;nbsp; week4&amp;nbsp;&amp;nbsp;&amp;nbsp; 14&lt;BR /&gt;1&amp;nbsp; week8&amp;nbsp;&amp;nbsp;&amp;nbsp; 16&lt;BR /&gt;1&amp;nbsp; week12&amp;nbsp;&amp;nbsp; 12&lt;BR /&gt;2&amp;nbsp; baseline 10&lt;BR /&gt;2&amp;nbsp; week2&amp;nbsp;&amp;nbsp;&amp;nbsp; 12&lt;BR /&gt;2&amp;nbsp; week4&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&lt;BR /&gt;3&amp;nbsp; baseline 10&lt;BR /&gt;3&amp;nbsp; week2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;BR /&gt;3&amp;nbsp; week8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4 &lt;BR /&gt;4&amp;nbsp; baseline 10&lt;BR /&gt;4&amp;nbsp; week8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4 &lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;;;;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;run&lt;/STRONG&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;data&lt;/STRONG&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; classdata;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;input&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; day &lt;/SPAN&gt;&lt;SPAN style="color: #008080; background-color: #ffffff;"&gt;$10.&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;cards&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffc0;"&gt;baseline&lt;BR /&gt;week2&lt;BR /&gt;week4&lt;BR /&gt;week8&lt;BR /&gt;week12&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;;;;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;run&lt;/STRONG&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;proc&lt;/STRONG&gt; &lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;summary&lt;/STRONG&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;nway&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;data&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=new &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;classdata&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=classdata &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;order&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=data;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;by&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; subjid;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;class&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; day;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;output&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;out&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=new2(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;drop&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=_freq_ _type_) &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;idgroup&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;out&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;(value)=);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;run&lt;/STRONG&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;data&lt;/STRONG&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; new3;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;update&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; new2(obs=&lt;/SPAN&gt;&lt;STRONG style="color: #008080; background-color: #ffffff;"&gt;0&lt;/STRONG&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;) new2;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;by&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; subjid;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;output&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; first(day) eq &lt;/SPAN&gt;&lt;SPAN style="color: #800080; background-color: #ffffff;"&gt;'b'&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;then&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;call&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; missing(of _all_);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;run&lt;/STRONG&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: data _null_&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Oct 2012 16:25:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/missing-data-imputed-using-LOCF/m-p/99784#M28006</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2012-10-18T16:25:29Z</dc:date>
    </item>
    <item>
      <title>Re: missing data imputed using LOCF</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/missing-data-imputed-using-LOCF/m-p/99785#M28007</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;'idgroup'! Thanks for sharing, DN!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And being a slacker, I still haven't finished your paper:&lt;/P&gt;&lt;P&gt;&lt;A href="http://support.sas.com/resources/papers/proceedings10/102-2010.pdf"&gt;http://support.sas.com/resources/papers/proceedings10/102-2010.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Oct 2012 16:36:44 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/missing-data-imputed-using-LOCF/m-p/99785#M28007</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2012-10-18T16:36:44Z</dc:date>
    </item>
    <item>
      <title>Re: missing data imputed using LOCF</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/missing-data-imputed-using-LOCF/m-p/99786#M28008</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Haikuo, baseline data is not carried forward, i.e if week2 is missing , it will be missing, how we can modify your code to consider this condition? Thanks. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My new dataset is:&lt;/P&gt;&lt;P&gt;data new;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; length subjid $8 day $10 value 8;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; input subjid day value;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; datalines;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; baseline 10&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; week2&amp;nbsp;&amp;nbsp; 12&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; week4&amp;nbsp;&amp;nbsp; 14&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; week8&amp;nbsp;&amp;nbsp; 16&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; week12&amp;nbsp; 12&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp; baseline 10&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp; week4&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp; baseline&amp;nbsp; 10&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp; week2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3 week8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4 &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; baseline 10&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; week2&amp;nbsp;&amp;nbsp; 12&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; week4&amp;nbsp;&amp;nbsp; 14&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; week8&amp;nbsp;&amp;nbsp; 16&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; week12&amp;nbsp; 12&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp; baseline 10&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp; week4&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;2&amp;nbsp;&amp;nbsp; week8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp; week12&amp;nbsp;&amp;nbsp; 8&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp; baseline&amp;nbsp; 10&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&amp;nbsp; week2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;3 week4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3 week8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4 &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;3 week12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Oct 2012 17:04:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/missing-data-imputed-using-LOCF/m-p/99786#M28008</guid>
      <dc:creator>michtka</dc:creator>
      <dc:date>2012-10-18T17:04:40Z</dc:date>
    </item>
    <item>
      <title>Re: missing data imputed using LOCF</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/missing-data-imputed-using-LOCF/m-p/99787#M28009</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A __default_attr="27540" __jive_macro_name="message" class="jive_macro jive_macro_message" data-objecttype="2" href="https://communities.sas.com/"&gt;&lt;/A&gt; : Thanks for making my day!&amp;nbsp; Nice!&amp;nbsp; And, if for some reason a variable list is difficult and one can live with a couple of warning statements, they can always use:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 15px; font-family: 'Courier New'; color: #000000; background-color: #ffffff;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 15px; font-family: 'Courier New'; color: #0000ff; background-color: #ffffff;"&gt;output&lt;/SPAN&gt;&lt;SPAN style="font-family: 'Courier New'; font-size: 15px; background-color: #ffffff;"&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 15px; font-family: 'Courier New'; color: #0000ff; background-color: #ffffff;"&gt;out&lt;/SPAN&gt;&lt;SPAN style="font-size: 15px; font-family: 'Courier New'; color: #000000; background-color: #ffffff;"&gt;=new2(&lt;/SPAN&gt;&lt;SPAN style="font-size: 15px; font-family: 'Courier New'; color: #0000ff; background-color: #ffffff;"&gt;drop&lt;/SPAN&gt;&lt;SPAN style="font-size: 15px; font-family: 'Courier New'; color: #000000; background-color: #ffffff;"&gt;=_freq_ _type_) &lt;/SPAN&gt;&lt;SPAN style="font-size: 15px; font-family: 'Courier New'; color: #0000ff; background-color: #ffffff;"&gt;idgroup&lt;/SPAN&gt;&lt;SPAN style="font-size: 15px; font-family: 'Courier New'; color: #000000; background-color: #ffffff;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="font-size: 15px; font-family: 'Courier New'; color: #0000ff; background-color: #ffffff;"&gt;out&lt;/SPAN&gt;&lt;SPAN style="font-size: 15px; font-family: 'Courier New'; color: #000000; background-color: #ffffff;"&gt;(_all_)=);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 15px; font-family: 'Courier New'; color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 15px; font-family: 'Courier New'; color: #000000; background-color: #ffffff;"&gt;methinks your latest use for proc summary will end up getting even more exposure than the proc transpose alternative.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 15px; font-family: 'Courier New'; color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Oct 2012 17:17:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/missing-data-imputed-using-LOCF/m-p/99787#M28009</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2012-10-18T17:17:09Z</dc:date>
    </item>
    <item>
      <title>Re: missing data imputed using LOCF</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/missing-data-imputed-using-LOCF/m-p/99788#M28010</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You will get WARNINGs.&amp;nbsp; In Pharma WARNINGs can never be even it they are harmless.&amp;nbsp; This even applies to some NOTEs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WARNING: Variable subjid already exists on file WORK.NEW2.&lt;/P&gt;&lt;P&gt;WARNING: Variable day already exists on file WORK.NEW2.&lt;/P&gt;&lt;P&gt;WARNING: The duplicate variables will not be included in the output data set of the output statement number 1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Of course there are other SAS variable lists that could be used or you could generate the specific list with TRANSPOSE and put it in a macro variable with SQL.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Oct 2012 17:26:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/missing-data-imputed-using-LOCF/m-p/99788#M28010</guid>
      <dc:creator>data_null__</dc:creator>
      <dc:date>2012-10-18T17:26:30Z</dc:date>
    </item>
    <item>
      <title>Re: missing data imputed using LOCF</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/missing-data-imputed-using-LOCF/m-p/308422#M61175</link>
      <description>&lt;P&gt;Here iit is four years later, and I am&amp;nbsp;looking for some comments on LOCF and came across this interesting thread.&amp;nbsp;&amp;nbsp; Data Null's suggestion reminded me of the flexibility and general usefulness of PROC SUMMARY.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But it also got me to ask whether there is a good one-step solution.&amp;nbsp; The code below is my answer.&amp;nbsp; I think it can be called a &lt;EM&gt;merge-with-offset-record&lt;/EM&gt; approach:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data new;
     length subjid $8 day $10 value 8;
     input subjid day value;
     datalines;
     1   baseline 10
     1   week2    12
     1   week4    14
     1   week8    16
     1   week12   12
     2   baseline 10
     2   week2    12
     2   week4    10
     3   baseline 10
     3   week2     3
     3   week8     4 
run;

data want (drop=_:);
  merge new 
        new (firstobs=2 keep=subjid day rename=(subjid=_nextsub day=_nextday) );

  do _f=findw("baseline week2 week4 week8 week12",trim(day),' ','e')
        to
        ifn(subjid^=_nextsub,5,findw("baseline week2 week4 week8 week12",
          trim(_nextday),' ','e')-1);
    output; 
    /* do not carry forward baseline values*/
    if day="baseline" then call missing(of value); 
    day=scan("baseline week2 week4 week8 week12",_f+1);
  end; 
run;

&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 16 Feb 2017 13:54:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/missing-data-imputed-using-LOCF/m-p/308422#M61175</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2017-02-16T13:54:02Z</dc:date>
    </item>
    <item>
      <title>Re: missing data imputed using LOCF</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/missing-data-imputed-using-LOCF/m-p/333301#M62833</link>
      <description>&lt;P&gt;data sda;&lt;BR /&gt;input ptno visit weight;&lt;BR /&gt;format ptno z3. ;&lt;BR /&gt;cards;&lt;BR /&gt;1 1 122&lt;BR /&gt;1 2 .&lt;BR /&gt;1 3 .&lt;BR /&gt;1 4 123&lt;BR /&gt;2 1 156&lt;BR /&gt;2 3 .&lt;BR /&gt;3 1 112&lt;BR /&gt;3 2 .&lt;BR /&gt;4 1 .&lt;BR /&gt;4 2 123&lt;BR /&gt;4 3 .&lt;BR /&gt;;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data all;&lt;BR /&gt;format ptno z3.;&lt;BR /&gt;do i=1 to 4;&lt;BR /&gt;do j=1 to 4;&lt;BR /&gt;ptno=i;&lt;BR /&gt;visit=j;&lt;BR /&gt;output;&lt;BR /&gt;end;&lt;BR /&gt;end;&lt;BR /&gt;drop i j;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;proc sort data=sda; by ptno visit; run;&lt;BR /&gt;proc sort data=all; by ptno visit; run;&lt;/P&gt;&lt;P&gt;data final (drop=tempval);&lt;BR /&gt;retain tempval 0;&lt;BR /&gt;merge sda(in=b) all (in=val);&lt;BR /&gt;by ptno visit ;&lt;BR /&gt;if val;&lt;BR /&gt;if weight eq . then weight=tempval;&lt;BR /&gt;else tempval=weight;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Output is as below&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;001 1 122&lt;BR /&gt;001 2 122&lt;BR /&gt;001 3 122&lt;BR /&gt;001 4 123&lt;BR /&gt;002 1 156&lt;BR /&gt;002 2 156&lt;BR /&gt;002 3 156&lt;BR /&gt;002 4 156&lt;BR /&gt;003 1 112&lt;BR /&gt;003 2 112&lt;BR /&gt;003 3 112&lt;BR /&gt;003 4 112&lt;BR /&gt;004 1 112&lt;BR /&gt;004 2 123&lt;BR /&gt;004 3 123&lt;BR /&gt;004 4 123&lt;/P&gt;</description>
      <pubDate>Thu, 16 Feb 2017 07:06:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/missing-data-imputed-using-LOCF/m-p/333301#M62833</guid>
      <dc:creator>prakash</dc:creator>
      <dc:date>2017-02-16T07:06:22Z</dc:date>
    </item>
  </channel>
</rss>

