<?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 How to statistically compare two curvilinear lines in a single plot using DO LOOP in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-statistically-compare-two-curvilinear-lines-in-a-single/m-p/480726#M124268</link>
    <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV id="messageBodyDisplay" class="lia-message-body lia-tooltip-trigger"&gt;
&lt;DIV class="lia-message-body-content"&gt;
&lt;DIV id="messageBodyDisplay" class="lia-message-body lia-tooltip-trigger"&gt;
&lt;DIV class="lia-message-body-content"&gt;
&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have an unbalanced panel dataset across 10 years as follows. Here are my variables:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Y= dependent variable&lt;/P&gt;
&lt;P&gt;x1= predictor&lt;/P&gt;
&lt;P&gt;x1_2 = predictor (squared)&lt;/P&gt;
&lt;P&gt;x3 = moderator&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="535"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="151"&gt;name&lt;/TD&gt;
&lt;TD width="64"&gt;time&lt;/TD&gt;
&lt;TD width="64"&gt;gvkey&lt;/TD&gt;
&lt;TD width="64"&gt;y&lt;/TD&gt;
&lt;TD width="64"&gt;x1&lt;/TD&gt;
&lt;TD width="64"&gt;x1_2&lt;/TD&gt;
&lt;TD width="64"&gt;x3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;abc&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;10553&lt;/TD&gt;
&lt;TD&gt;0.95&lt;/TD&gt;
&lt;TD&gt;-0.20&lt;/TD&gt;
&lt;TD&gt;0.04&lt;/TD&gt;
&lt;TD&gt;0.34&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;abc&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;10553&lt;/TD&gt;
&lt;TD&gt;1.20&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;abc&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;10553&lt;/TD&gt;
&lt;TD&gt;1.29&lt;/TD&gt;
&lt;TD&gt;-0.45&lt;/TD&gt;
&lt;TD&gt;0.20&lt;/TD&gt;
&lt;TD&gt;0.44&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;abc&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;10553&lt;/TD&gt;
&lt;TD&gt;1.62&lt;/TD&gt;
&lt;TD&gt;-0.32&lt;/TD&gt;
&lt;TD&gt;0.10&lt;/TD&gt;
&lt;TD&gt;0.23&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;…&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;xyz&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;7435&lt;/TD&gt;
&lt;TD&gt;1.97&lt;/TD&gt;
&lt;TD&gt;-1.09&lt;/TD&gt;
&lt;TD&gt;1.19&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;xyz&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;7435&lt;/TD&gt;
&lt;TD&gt;1.86&lt;/TD&gt;
&lt;TD&gt;-0.69&lt;/TD&gt;
&lt;TD&gt;0.48&lt;/TD&gt;
&lt;TD&gt;0.41&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;xyz&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;7435&lt;/TD&gt;
&lt;TD&gt;1.90&lt;/TD&gt;
&lt;TD&gt;-0.70&lt;/TD&gt;
&lt;TD&gt;0.49&lt;/TD&gt;
&lt;TD&gt;0.42&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;xyz&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;7435&lt;/TD&gt;
&lt;TD&gt;1.94&lt;/TD&gt;
&lt;TD&gt;-1.90&lt;/TD&gt;
&lt;TD&gt;3.62&lt;/TD&gt;
&lt;TD&gt;2.67&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's SAS codes to run regression where x3 has been split into high sample:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;panel&lt;/STRONG&gt; data=test_xlag ;&lt;/P&gt;
&lt;P&gt;inst depvar&lt;/P&gt;
&lt;P&gt;exogenous=( x3_high )&lt;/P&gt;
&lt;P&gt;pred=(x1&amp;nbsp; x1_2)&amp;nbsp; ;&lt;/P&gt;
&lt;P&gt;model y_high =&amp;nbsp; x3_high&amp;nbsp;&amp;nbsp; x1&amp;nbsp;&amp;nbsp; x1_2&amp;nbsp;&lt;/P&gt;
&lt;P&gt;/ gmm&amp;nbsp; twostep maxband=&lt;STRONG&gt;1&lt;/STRONG&gt; time robust ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id gvkey time;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's SAS codes to run regression where x3 has been split into low sample:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;panel&lt;/STRONG&gt; data=test_xlag ;&lt;/P&gt;
&lt;P&gt;inst depvar&lt;/P&gt;
&lt;P&gt;exogenous=( x3_low )&lt;/P&gt;
&lt;P&gt;pred=(x1&amp;nbsp; x1_2)&amp;nbsp; ;&lt;/P&gt;
&lt;P&gt;model y_low = x3_low &amp;nbsp; x1&amp;nbsp;&amp;nbsp; x1_2&amp;nbsp;&lt;/P&gt;
&lt;P&gt;/ gmm&amp;nbsp; twostep maxband=&lt;STRONG&gt;1&lt;/STRONG&gt; time robust ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id gvkey time;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's SAS codes to run both regressions in a DO LOOP:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; test_xlag;&lt;/P&gt;
&lt;P&gt;do X1 = -&lt;STRONG&gt;3.0&lt;/STRONG&gt; to &lt;STRONG&gt;0&lt;/STRONG&gt; by &lt;STRONG&gt;0.1&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;y_high = &lt;STRONG&gt;0.136544 &lt;/STRONG&gt;+ (-0.04991)*X1 + (-0.00773)*X1*X1 ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; y_low&amp;nbsp; = 0.152363 + (-0.05342)*X1 + (-0.00836)*X1*X1 ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Let's assume I've created the ANNOTATE dataset and produce the plot in the attached file. The plot is an inverse U-shaped curve. It has 2 parallel curvilinear lines (red curve = depicts regression based on high sample, blue curve = depicts regression based on low sample). In the plot, x axis is range of x1 values, and y axis is range of y values.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here are my questions:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;(1) How do create a DO LOOP in SAS 9.3 that would allow me to statistically compare the red line to the blue line for x1 ranging from -0.1 to -1.0 at increments of 0.1? How do I test whether the red line is statistically different from the blue line at each specified values of x1? I would need chi-square values and p-values for each set of red/blue comparisons at each of the ten x1 values.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;(2) How do I generate marginal effects and standard errors for each of blue line and red line at each of the 10 specified x1 values (for a total of 20 values)? What SAS procedure do I use?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Below are the STATA codes to generate what I need for (1) and (2). Can someone help me translate these STATA codes into SAS codes?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;margins, at(x1 = (-0.1 (0.1) -1.0) x3_high=(0 1 )) post&lt;/P&gt;
&lt;P&gt;margins, coeflegend&lt;/P&gt;
&lt;P&gt;forvalues i = 1(2)20 {&lt;/P&gt;
&lt;P&gt;loc j = `i' +1&lt;/P&gt;
&lt;P&gt;test _b[`i'._at] = _b[`j'._at]&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks in advance!&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
    <pubDate>Tue, 24 Jul 2018 07:31:29 GMT</pubDate>
    <dc:creator>SASNovice2014</dc:creator>
    <dc:date>2018-07-24T07:31:29Z</dc:date>
    <item>
      <title>How to statistically compare two curvilinear lines in a single plot using DO LOOP</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-statistically-compare-two-curvilinear-lines-in-a-single/m-p/480722#M124250</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have an unbalanced panel dataset across 10 years as follows. Here are my variables:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Y= dependent variable&lt;/P&gt;
&lt;P&gt;x1= predictor&lt;/P&gt;
&lt;P&gt;x1_2 = predictor (squared)&lt;/P&gt;
&lt;P&gt;x3 = moderator&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="535"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="151"&gt;name&lt;/TD&gt;
&lt;TD width="64"&gt;time&lt;/TD&gt;
&lt;TD width="64"&gt;gvkey&lt;/TD&gt;
&lt;TD width="64"&gt;y&lt;/TD&gt;
&lt;TD width="64"&gt;x1&lt;/TD&gt;
&lt;TD width="64"&gt;x1_2&lt;/TD&gt;
&lt;TD width="64"&gt;x3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;abc&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;10553&lt;/TD&gt;
&lt;TD&gt;0.95&lt;/TD&gt;
&lt;TD&gt;-0.20&lt;/TD&gt;
&lt;TD&gt;0.04&lt;/TD&gt;
&lt;TD&gt;0.34&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;abc&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;10553&lt;/TD&gt;
&lt;TD&gt;1.20&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;abc&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;10553&lt;/TD&gt;
&lt;TD&gt;1.29&lt;/TD&gt;
&lt;TD&gt;-0.45&lt;/TD&gt;
&lt;TD&gt;0.20&lt;/TD&gt;
&lt;TD&gt;0.44&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;abc&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;10553&lt;/TD&gt;
&lt;TD&gt;1.62&lt;/TD&gt;
&lt;TD&gt;-0.32&lt;/TD&gt;
&lt;TD&gt;0.10&lt;/TD&gt;
&lt;TD&gt;0.23&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;…&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;xyz&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;7435&lt;/TD&gt;
&lt;TD&gt;1.97&lt;/TD&gt;
&lt;TD&gt;-1.09&lt;/TD&gt;
&lt;TD&gt;1.19&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;xyz&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;7435&lt;/TD&gt;
&lt;TD&gt;1.86&lt;/TD&gt;
&lt;TD&gt;-0.69&lt;/TD&gt;
&lt;TD&gt;0.48&lt;/TD&gt;
&lt;TD&gt;0.41&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;xyz&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;7435&lt;/TD&gt;
&lt;TD&gt;1.90&lt;/TD&gt;
&lt;TD&gt;-0.70&lt;/TD&gt;
&lt;TD&gt;0.49&lt;/TD&gt;
&lt;TD&gt;0.42&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;xyz&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;7435&lt;/TD&gt;
&lt;TD&gt;1.94&lt;/TD&gt;
&lt;TD&gt;-1.90&lt;/TD&gt;
&lt;TD&gt;3.62&lt;/TD&gt;
&lt;TD&gt;2.67&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's SAS codes to run regression where x3 has been split into high sample:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;panel&lt;/STRONG&gt; data=test_xlag ;&lt;/P&gt;
&lt;P&gt;inst depvar&lt;/P&gt;
&lt;P&gt;exogenous=( x3_high )&lt;/P&gt;
&lt;P&gt;pred=(x1&amp;nbsp; x1_2)&amp;nbsp; ;&lt;/P&gt;
&lt;P&gt;model y_high =&amp;nbsp; x3_high&amp;nbsp;&amp;nbsp; x1&amp;nbsp;&amp;nbsp; x1_2&amp;nbsp;&lt;/P&gt;
&lt;P&gt;/ gmm&amp;nbsp; twostep maxband=&lt;STRONG&gt;1&lt;/STRONG&gt; time robust ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id gvkey time;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's SAS codes to run regression where x3 has been split into low sample:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;panel&lt;/STRONG&gt; data=test_xlag ;&lt;/P&gt;
&lt;P&gt;inst depvar&lt;/P&gt;
&lt;P&gt;exogenous=( x3_low )&lt;/P&gt;
&lt;P&gt;pred=(x1&amp;nbsp; x1_2)&amp;nbsp; ;&lt;/P&gt;
&lt;P&gt;model y_low = x3_low &amp;nbsp; x1&amp;nbsp;&amp;nbsp; x1_2&amp;nbsp;&lt;/P&gt;
&lt;P&gt;/ gmm&amp;nbsp; twostep maxband=&lt;STRONG&gt;1&lt;/STRONG&gt; time robust ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id gvkey time;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's SAS codes to run both regressions in a DO LOOP:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; test_xlag;&lt;/P&gt;
&lt;P&gt;do X1 = -&lt;STRONG&gt;3.0&lt;/STRONG&gt; to &lt;STRONG&gt;0&lt;/STRONG&gt; by &lt;STRONG&gt;0.1&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;y_high = &lt;STRONG&gt;0.136544 &lt;/STRONG&gt;+ (-0.04991)*X1 + (-0.00773)*X1*X1 ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; y_low&amp;nbsp; = 0.152363 + (-0.05342)*X1 + (-0.00836)*X1*X1 ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Let's assume I've created the ANNOTATE dataset and produce the plot in the attached file. The plot is an inverse U-shaped curve. It has 2 parallel curvilinear lines (red curve = depicts regression based on high sample, blue curve = depicts regression based on low sample). In the plot, x axis is range of x1 values, and y axis is range of y values.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here are my questions:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;(1) How do create a DO LOOP in SAS 9.3 that would allow me to statistically compare the red line to the blue line for x1 ranging from -0.1 to -1.0 at increments of 0.1? How do I test whether the red line is statistically different from the blue line at each specified values of x1? I would need chi-square values and p-values for each set of red/blue comparisons at each of the ten x1 values.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;(2) How do I generate marginal effects and standard errors for each of blue line and red line at each of the 10 specified x1 values (for a total of 20 values)? What SAS procedure do I use?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Below are the STATA codes to generate what I need for (1) and (2). Can someone help me translate these STATA codes into SAS codes?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;margins, at(x1 = (-0.1 (0.1) -1.0) x3_high=(0 1 )) post&lt;/P&gt;
&lt;P&gt;margins, coeflegend&lt;/P&gt;
&lt;P&gt;forvalues i = 1(2)20 {&lt;/P&gt;
&lt;P&gt;loc j = `i' +1&lt;/P&gt;
&lt;P&gt;test _b[`i'._at] = _b[`j'._at]&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks in advance!&lt;/P&gt;</description>
      <pubDate>Tue, 24 Jul 2018 07:25:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-statistically-compare-two-curvilinear-lines-in-a-single/m-p/480722#M124250</guid>
      <dc:creator>SASNovice2014</dc:creator>
      <dc:date>2018-07-24T07:25:45Z</dc:date>
    </item>
    <item>
      <title>How to statistically compare two curvilinear lines in a single plot using DO LOOP</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-statistically-compare-two-curvilinear-lines-in-a-single/m-p/480726#M124268</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV id="messageBodyDisplay" class="lia-message-body lia-tooltip-trigger"&gt;
&lt;DIV class="lia-message-body-content"&gt;
&lt;DIV id="messageBodyDisplay" class="lia-message-body lia-tooltip-trigger"&gt;
&lt;DIV class="lia-message-body-content"&gt;
&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have an unbalanced panel dataset across 10 years as follows. Here are my variables:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Y= dependent variable&lt;/P&gt;
&lt;P&gt;x1= predictor&lt;/P&gt;
&lt;P&gt;x1_2 = predictor (squared)&lt;/P&gt;
&lt;P&gt;x3 = moderator&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="535"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="151"&gt;name&lt;/TD&gt;
&lt;TD width="64"&gt;time&lt;/TD&gt;
&lt;TD width="64"&gt;gvkey&lt;/TD&gt;
&lt;TD width="64"&gt;y&lt;/TD&gt;
&lt;TD width="64"&gt;x1&lt;/TD&gt;
&lt;TD width="64"&gt;x1_2&lt;/TD&gt;
&lt;TD width="64"&gt;x3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;abc&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;10553&lt;/TD&gt;
&lt;TD&gt;0.95&lt;/TD&gt;
&lt;TD&gt;-0.20&lt;/TD&gt;
&lt;TD&gt;0.04&lt;/TD&gt;
&lt;TD&gt;0.34&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;abc&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;10553&lt;/TD&gt;
&lt;TD&gt;1.20&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;abc&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;10553&lt;/TD&gt;
&lt;TD&gt;1.29&lt;/TD&gt;
&lt;TD&gt;-0.45&lt;/TD&gt;
&lt;TD&gt;0.20&lt;/TD&gt;
&lt;TD&gt;0.44&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;abc&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;10553&lt;/TD&gt;
&lt;TD&gt;1.62&lt;/TD&gt;
&lt;TD&gt;-0.32&lt;/TD&gt;
&lt;TD&gt;0.10&lt;/TD&gt;
&lt;TD&gt;0.23&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;…&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;xyz&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;7435&lt;/TD&gt;
&lt;TD&gt;1.97&lt;/TD&gt;
&lt;TD&gt;-1.09&lt;/TD&gt;
&lt;TD&gt;1.19&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;xyz&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;7435&lt;/TD&gt;
&lt;TD&gt;1.86&lt;/TD&gt;
&lt;TD&gt;-0.69&lt;/TD&gt;
&lt;TD&gt;0.48&lt;/TD&gt;
&lt;TD&gt;0.41&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;xyz&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;7435&lt;/TD&gt;
&lt;TD&gt;1.90&lt;/TD&gt;
&lt;TD&gt;-0.70&lt;/TD&gt;
&lt;TD&gt;0.49&lt;/TD&gt;
&lt;TD&gt;0.42&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;xyz&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;TD&gt;7435&lt;/TD&gt;
&lt;TD&gt;1.94&lt;/TD&gt;
&lt;TD&gt;-1.90&lt;/TD&gt;
&lt;TD&gt;3.62&lt;/TD&gt;
&lt;TD&gt;2.67&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's SAS codes to run regression where x3 has been split into high sample:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;panel&lt;/STRONG&gt; data=test_xlag ;&lt;/P&gt;
&lt;P&gt;inst depvar&lt;/P&gt;
&lt;P&gt;exogenous=( x3_high )&lt;/P&gt;
&lt;P&gt;pred=(x1&amp;nbsp; x1_2)&amp;nbsp; ;&lt;/P&gt;
&lt;P&gt;model y_high =&amp;nbsp; x3_high&amp;nbsp;&amp;nbsp; x1&amp;nbsp;&amp;nbsp; x1_2&amp;nbsp;&lt;/P&gt;
&lt;P&gt;/ gmm&amp;nbsp; twostep maxband=&lt;STRONG&gt;1&lt;/STRONG&gt; time robust ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id gvkey time;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's SAS codes to run regression where x3 has been split into low sample:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;panel&lt;/STRONG&gt; data=test_xlag ;&lt;/P&gt;
&lt;P&gt;inst depvar&lt;/P&gt;
&lt;P&gt;exogenous=( x3_low )&lt;/P&gt;
&lt;P&gt;pred=(x1&amp;nbsp; x1_2)&amp;nbsp; ;&lt;/P&gt;
&lt;P&gt;model y_low = x3_low &amp;nbsp; x1&amp;nbsp;&amp;nbsp; x1_2&amp;nbsp;&lt;/P&gt;
&lt;P&gt;/ gmm&amp;nbsp; twostep maxband=&lt;STRONG&gt;1&lt;/STRONG&gt; time robust ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id gvkey time;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's SAS codes to run both regressions in a DO LOOP:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; test_xlag;&lt;/P&gt;
&lt;P&gt;do X1 = -&lt;STRONG&gt;3.0&lt;/STRONG&gt; to &lt;STRONG&gt;0&lt;/STRONG&gt; by &lt;STRONG&gt;0.1&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;y_high = &lt;STRONG&gt;0.136544 &lt;/STRONG&gt;+ (-0.04991)*X1 + (-0.00773)*X1*X1 ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; y_low&amp;nbsp; = 0.152363 + (-0.05342)*X1 + (-0.00836)*X1*X1 ;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; output;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Let's assume I've created the ANNOTATE dataset and produce the plot in the attached file. The plot is an inverse U-shaped curve. It has 2 parallel curvilinear lines (red curve = depicts regression based on high sample, blue curve = depicts regression based on low sample). In the plot, x axis is range of x1 values, and y axis is range of y values.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here are my questions:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;(1) How do create a DO LOOP in SAS 9.3 that would allow me to statistically compare the red line to the blue line for x1 ranging from -0.1 to -1.0 at increments of 0.1? How do I test whether the red line is statistically different from the blue line at each specified values of x1? I would need chi-square values and p-values for each set of red/blue comparisons at each of the ten x1 values.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;(2) How do I generate marginal effects and standard errors for each of blue line and red line at each of the 10 specified x1 values (for a total of 20 values)? What SAS procedure do I use?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Below are the STATA codes to generate what I need for (1) and (2). Can someone help me translate these STATA codes into SAS codes?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;margins, at(x1 = (-0.1 (0.1) -1.0) x3_high=(0 1 )) post&lt;/P&gt;
&lt;P&gt;margins, coeflegend&lt;/P&gt;
&lt;P&gt;forvalues i = 1(2)20 {&lt;/P&gt;
&lt;P&gt;loc j = `i' +1&lt;/P&gt;
&lt;P&gt;test _b[`i'._at] = _b[`j'._at]&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks in advance!&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Tue, 24 Jul 2018 07:31:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-statistically-compare-two-curvilinear-lines-in-a-single/m-p/480726#M124268</guid>
      <dc:creator>SASNovice2014</dc:creator>
      <dc:date>2018-07-24T07:31:29Z</dc:date>
    </item>
  </channel>
</rss>

