<?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 slope across variables in each row in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/slope-across-variables-in-each-row/m-p/309420#M66542</link>
    <description>&lt;P&gt;How do I calculate the slope of few variables for each row assuming delta X between variables is =1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Example:&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;v1&lt;/TD&gt;&lt;TD&gt;v2&lt;/TD&gt;&lt;TD&gt;v3&lt;/TD&gt;&lt;TD&gt;v4&lt;/TD&gt;&lt;TD&gt;v5&lt;/TD&gt;&lt;TD&gt;slope&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;?&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;60&lt;/TD&gt;&lt;TD&gt;70&lt;/TD&gt;&lt;TD&gt;95&lt;/TD&gt;&lt;TD&gt;106&lt;/TD&gt;&lt;TD&gt;120&lt;/TD&gt;&lt;TD&gt;?&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&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;d&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;e&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;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;SAS 6.1&lt;/P&gt;</description>
    <pubDate>Fri, 04 Nov 2016 21:10:23 GMT</pubDate>
    <dc:creator>timeless</dc:creator>
    <dc:date>2016-11-04T21:10:23Z</dc:date>
    <item>
      <title>slope across variables in each row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/slope-across-variables-in-each-row/m-p/309420#M66542</link>
      <description>&lt;P&gt;How do I calculate the slope of few variables for each row assuming delta X between variables is =1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Example:&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;v1&lt;/TD&gt;&lt;TD&gt;v2&lt;/TD&gt;&lt;TD&gt;v3&lt;/TD&gt;&lt;TD&gt;v4&lt;/TD&gt;&lt;TD&gt;v5&lt;/TD&gt;&lt;TD&gt;slope&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;a&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;?&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;b&lt;/TD&gt;&lt;TD&gt;60&lt;/TD&gt;&lt;TD&gt;70&lt;/TD&gt;&lt;TD&gt;95&lt;/TD&gt;&lt;TD&gt;106&lt;/TD&gt;&lt;TD&gt;120&lt;/TD&gt;&lt;TD&gt;?&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;c&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;d&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;e&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;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;SAS 6.1&lt;/P&gt;</description>
      <pubDate>Fri, 04 Nov 2016 21:10:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/slope-across-variables-in-each-row/m-p/309420#M66542</guid>
      <dc:creator>timeless</dc:creator>
      <dc:date>2016-11-04T21:10:23Z</dc:date>
    </item>
    <item>
      <title>Re: slope across variables in each row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/slope-across-variables-in-each-row/m-p/309425#M66546</link>
      <description>&lt;P&gt;Do you mean by "delta x between variables" that you have the equivalent of coordinates such as (1,2), (2,4), (3,6), (4,8) and (5,10)?&lt;/P&gt;
&lt;P&gt;And do you want the slope of a best fit line through the points? The first line has a constant slop of 2 between any two pairs but the second row has different slopes between different pairs so a request for a single slope needs some clarification.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If the slope of a "best fit" line is desired I would transform the data into actual x,y coordinates and then run the result through proc reg with the Id as a by variable to get the result for each group:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
   input ID $ v1 v2 v3 v4 v5 ;
datalines;
a 2 4 6 8 10  
b 60 70 95 106 120  
;
run;

data trans;
   set have;
   array v v1-v5;
   do x= 1 to 5;
      y= v[x];
      output;
   end;
   keep id x y;
run;
proc reg data=trans;
   by id;
   model y=x;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The Parameter estimate for X is the slope you may want.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you want to merge that back onto the original research the options for Prog Reg on output to get a data set&amp;nbsp; and then merge by ID.&lt;/P&gt;</description>
      <pubDate>Fri, 04 Nov 2016 21:30:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/slope-across-variables-in-each-row/m-p/309425#M66546</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2016-11-04T21:30:38Z</dc:date>
    </item>
    <item>
      <title>Re: slope across variables in each row</title>
      <link>https://communities.sas.com/t5/SAS-Programming/slope-across-variables-in-each-row/m-p/309430#M66550</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This assumes a linear trend, with your X's being 1-5 in your case and &lt;U&gt;&lt;STRONG&gt;does not deal with missing values.&lt;/STRONG&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;In this case there are 6 obs but changing it to 5 is a trivial task.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Overall, I would recommend a transpose and proc reg instead as well.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test;
input x1 x2 x3 x4 x5 x6;
datalines;
-0.069965723 0.492749371 0.955245597 1.346963522 1.701118239 2.523141195
;
run;

data slope;
set test;
array ys(6) x1-x6;
array vals(6) (1 2 3 4 5 6);
xbar = mean(of vals(*));
ybar = mean(of ys(*));



do i=1 to dim(vals);


num=sum(num, (vals(i)-xbar)*(ys(i)-ybar));
den=sum(den, (vals(i)-xbar)**2);


end;

slope = num/den;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 04 Nov 2016 21:44:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/slope-across-variables-in-each-row/m-p/309430#M66550</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-11-04T21:44:24Z</dc:date>
    </item>
  </channel>
</rss>

