<?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 Recursive partitioning analysis or CART analysis with suvival data in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Recursive-partitioning-analysis-or-CART-analysis-with-suvival/m-p/377150#M276708</link>
    <description>&lt;P&gt;I am a beginner SAS user with the following problem:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to determine the time interval after which treatment outcomes worsen. &amp;nbsp;My variable of interest is survival data (2 components, 1: time to last follow up, 2. status at last follow up (alive=censored, dead = event). &amp;nbsp;My understanding is that proc HPSPLIT will not work for this type of analysis. &amp;nbsp;So I am trying to write a macro as follows: &amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/* The original Variables: TimeToTreatment is numeric */&lt;/P&gt;&lt;P&gt;/*Initial Part of MACRO creates a Grouping variable depending on the value of the TimeToTreatment */&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;%MACRO&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; KM_MACRO(DaysTo, WeekNo, DataTable);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;/*uses the grouping variable that is passed to the macro as the strata variable */&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;data Temp_KM ;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;/*To keep things simpler for now, only looking at code for recto-sigmoid */&lt;/P&gt;&lt;P&gt;set &amp;amp;DataTable;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;%if&lt;/SPAN&gt; &amp;amp;DaysTo = &lt;SPAN&gt;&lt;STRONG&gt;.&lt;/STRONG&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;%then&lt;/SPAN&gt; Group_var = &lt;SPAN&gt;&lt;STRONG&gt;.&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;&lt;P&gt;%else&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;%if&lt;/SPAN&gt;&lt;SPAN&gt; (&amp;amp;DaysTo * &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;)&amp;nbsp; lt (&amp;amp;WeekNo*&lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;7&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;) &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;/*Daysto*1 converts string into number,&amp;nbsp; &amp;amp;weekNo*7 converts weeks to days */&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;%then&lt;/SPAN&gt;&lt;SPAN&gt; Group_var = &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;/* sets group to shorter delay*/&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;%else&lt;/SPAN&gt;&lt;SPAN&gt; Group_var = &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;/*Sets group to longer delay*/&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*Runs proc LIFETEST for the log - rank test and survival plot using the Grouping variable to define the two strata */&lt;/P&gt;&lt;P&gt;proc LIFETEST data=Temp_KM&amp;nbsp; plots=(Survival)&amp;nbsp; NOTABLE;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;time Survival_Time * STATUS(&lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;);&amp;nbsp; &lt;/SPAN&gt;/*Survival Time and Status are both in the dataset that is passed to the MACRO*/&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;strata Group_var / order=internal test=logrank; &lt;/SPAN&gt;/*Uses the passed Grouping variable as the strata identification.&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;%MEND&lt;/STRONG&gt;&lt;/SPAN&gt; KM_MACRO;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/SPAN&gt; working;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;set&lt;/SPAN&gt; Disease_Site;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;do&lt;/SPAN&gt;&lt;SPAN&gt; i = &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;7&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN&gt;to&lt;/SPAN&gt; &lt;SPAN&gt;&lt;STRONG&gt;15&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;/*Counter for number of weeks; looking for best break point between 7 to 15 weeks*/&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;call&lt;/SPAN&gt; execute %&lt;STRONG&gt;&lt;I&gt;KM_MACRO&lt;/I&gt;&lt;/STRONG&gt;(DaysTo=TimeToTreatment, WeekNo=i, DataTable=Working); &lt;SPAN&gt;/*TimeToTreatment is in the Disease+_Site dataset*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;end&lt;/SPAN&gt;&lt;SPAN&gt;; &amp;nbsp; &lt;/SPAN&gt;/* Ends do loop */&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, when I run this macro, I get the following error:&amp;nbsp;&lt;/P&gt;&lt;P&gt;ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there a way to fix this error, &amp;nbsp;also is this the best approach for doing repeated log-rank analysis for survival data (with both survival time and status values) at different cutoff points. &amp;nbsp;Can survival data be used with HPSPLIT or another function that will do recursive partitioning analysis. &amp;nbsp;The ultimate goal is to look at p-values but also look at the median and mean survival times&amp;nbsp;to select the best break point.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for your help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 18 Jul 2017 23:26:47 GMT</pubDate>
    <dc:creator>OA468</dc:creator>
    <dc:date>2017-07-18T23:26:47Z</dc:date>
    <item>
      <title>Recursive partitioning analysis or CART analysis with suvival data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Recursive-partitioning-analysis-or-CART-analysis-with-suvival/m-p/377150#M276708</link>
      <description>&lt;P&gt;I am a beginner SAS user with the following problem:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to determine the time interval after which treatment outcomes worsen. &amp;nbsp;My variable of interest is survival data (2 components, 1: time to last follow up, 2. status at last follow up (alive=censored, dead = event). &amp;nbsp;My understanding is that proc HPSPLIT will not work for this type of analysis. &amp;nbsp;So I am trying to write a macro as follows: &amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/* The original Variables: TimeToTreatment is numeric */&lt;/P&gt;&lt;P&gt;/*Initial Part of MACRO creates a Grouping variable depending on the value of the TimeToTreatment */&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;%MACRO&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; KM_MACRO(DaysTo, WeekNo, DataTable);&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;/*uses the grouping variable that is passed to the macro as the strata variable */&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;data Temp_KM ;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;/*To keep things simpler for now, only looking at code for recto-sigmoid */&lt;/P&gt;&lt;P&gt;set &amp;amp;DataTable;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;%if&lt;/SPAN&gt; &amp;amp;DaysTo = &lt;SPAN&gt;&lt;STRONG&gt;.&lt;/STRONG&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;%then&lt;/SPAN&gt; Group_var = &lt;SPAN&gt;&lt;STRONG&gt;.&lt;/STRONG&gt;&lt;/SPAN&gt;;&lt;/P&gt;&lt;P&gt;%else&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;%if&lt;/SPAN&gt;&lt;SPAN&gt; (&amp;amp;DaysTo * &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;)&amp;nbsp; lt (&amp;amp;WeekNo*&lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;7&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;) &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;/*Daysto*1 converts string into number,&amp;nbsp; &amp;amp;weekNo*7 converts weeks to days */&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;%then&lt;/SPAN&gt;&lt;SPAN&gt; Group_var = &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;/* sets group to shorter delay*/&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;%else&lt;/SPAN&gt;&lt;SPAN&gt; Group_var = &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;/*Sets group to longer delay*/&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/*Runs proc LIFETEST for the log - rank test and survival plot using the Grouping variable to define the two strata */&lt;/P&gt;&lt;P&gt;proc LIFETEST data=Temp_KM&amp;nbsp; plots=(Survival)&amp;nbsp; NOTABLE;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;time Survival_Time * STATUS(&lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;);&amp;nbsp; &lt;/SPAN&gt;/*Survival Time and Status are both in the dataset that is passed to the MACRO*/&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;strata Group_var / order=internal test=logrank; &lt;/SPAN&gt;/*Uses the passed Grouping variable as the strata identification.&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;%MEND&lt;/STRONG&gt;&lt;/SPAN&gt; KM_MACRO;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/SPAN&gt; working;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;set&lt;/SPAN&gt; Disease_Site;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;do&lt;/SPAN&gt;&lt;SPAN&gt; i = &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;7&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN&gt;to&lt;/SPAN&gt; &lt;SPAN&gt;&lt;STRONG&gt;15&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;/*Counter for number of weeks; looking for best break point between 7 to 15 weeks*/&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;call&lt;/SPAN&gt; execute %&lt;STRONG&gt;&lt;I&gt;KM_MACRO&lt;/I&gt;&lt;/STRONG&gt;(DaysTo=TimeToTreatment, WeekNo=i, DataTable=Working); &lt;SPAN&gt;/*TimeToTreatment is in the Disease+_Site dataset*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;end&lt;/SPAN&gt;&lt;SPAN&gt;; &amp;nbsp; &lt;/SPAN&gt;/* Ends do loop */&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, when I run this macro, I get the following error:&amp;nbsp;&lt;/P&gt;&lt;P&gt;ERROR: A character operand was found in the %EVAL function or %IF condition where a numeric operand is required.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there a way to fix this error, &amp;nbsp;also is this the best approach for doing repeated log-rank analysis for survival data (with both survival time and status values) at different cutoff points. &amp;nbsp;Can survival data be used with HPSPLIT or another function that will do recursive partitioning analysis. &amp;nbsp;The ultimate goal is to look at p-values but also look at the median and mean survival times&amp;nbsp;to select the best break point.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for your help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 18 Jul 2017 23:26:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Recursive-partitioning-analysis-or-CART-analysis-with-suvival/m-p/377150#M276708</guid>
      <dc:creator>OA468</dc:creator>
      <dc:date>2017-07-18T23:26:47Z</dc:date>
    </item>
    <item>
      <title>Re: Recursive partitioning analysis or CART analysis with suvival data</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Recursive-partitioning-analysis-or-CART-analysis-with-suvival/m-p/377152#M276709</link>
      <description>&lt;P&gt;Call execute expects a string.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Something of the sort:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Call execute('%macroname(......);');&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 18 Jul 2017 23:38:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Recursive-partitioning-analysis-or-CART-analysis-with-suvival/m-p/377152#M276709</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-07-18T23:38:36Z</dc:date>
    </item>
  </channel>
</rss>

