<?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: Needs help in calculating line/row vector in SAS dataset in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Needs-help-in-calculating-line-row-vector-in-SAS-dataset/m-p/462342#M117704</link>
    <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input id class1-class4;
cards;
1 3 2 5 0
2 4 0 1 2
3 3 2 3 3
4 1 3 0 4
;
run;
proc iml;
use have(keep=class:) nobs nobs;
read all var _num_ into x;
close;
do i=1 to nobs-1;
 do j=i+1 to nobs;
   id1=id1//i;id2=id2//j;
   value=value//sum(x[i,]#x[j,]);
 end;
end;
create want var {id1 id2 value};
append;
close;
quit;

&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 15 May 2018 13:13:54 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2018-05-15T13:13:54Z</dc:date>
    <item>
      <title>Needs help in calculating line/row vector in SAS dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Needs-help-in-calculating-line-row-vector-in-SAS-dataset/m-p/462193#M117625</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need SAS to do the following thing:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For id 1 to n, I need to calculate dot product of line vector of id 1 and column vector of other n-1 observations to get the value.&amp;nbsp; Basically, I need to obtain the second dataset from the first dataset.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I guess I need to use proc iml.&amp;nbsp; But after reading examples and basic instructions, I still have no clue of how to do it.&amp;nbsp; I will appreciate it very much if someone can give me some hints or sample code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Many thanks!&lt;/P&gt;&lt;P&gt;Dara&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="a.PNG" style="width: 356px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/20515i6896B8C57FD4EBF2/image-size/large?v=v2&amp;amp;px=999" role="button" title="a.PNG" alt="a.PNG" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="b.PNG" style="width: 230px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/20516iE0CBDCA737D7CEA0/image-size/large?v=v2&amp;amp;px=999" role="button" title="b.PNG" alt="b.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 14 May 2018 20:33:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Needs-help-in-calculating-line-row-vector-in-SAS-dataset/m-p/462193#M117625</guid>
      <dc:creator>daradanye</dc:creator>
      <dc:date>2018-05-14T20:33:40Z</dc:date>
    </item>
    <item>
      <title>Re: Needs help in calculating line/row vector in SAS dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Needs-help-in-calculating-line-row-vector-in-SAS-dataset/m-p/462194#M117626</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/32269"&gt;@daradanye&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;Hi all,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I need SAS to do the following thing:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For id 1 to n, I need to calculate dot product of line vector of id 1 and column vector of other n-1 observations to get the value.&amp;nbsp; Basically, I need to obtain the second dataset from the first dataset.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I guess I need to use proc iml.&amp;nbsp; But after reading examples and basic instructions, I still have no clue of how to do it.&amp;nbsp; I will appreciate it very much if someone can give me some hints or sample code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Many thanks!&lt;/P&gt;
&lt;P&gt;Dara&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="a.PNG" style="width: 356px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/20515i6896B8C57FD4EBF2/image-size/large?v=v2&amp;amp;px=999" role="button" title="a.PNG" alt="a.PNG" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="b.PNG" style="width: 230px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/20516iE0CBDCA737D7CEA0/image-size/large?v=v2&amp;amp;px=999" role="button" title="b.PNG" alt="b.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;These words are not clear. Perhaps you could state exactly what you mean by "column vector of other n-1 observations", or better yet, show us the calculation you'd like to do ... go ahead and type in an example from the data above showing us the exact calculation you want.&lt;/P&gt;</description>
      <pubDate>Mon, 14 May 2018 20:39:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Needs-help-in-calculating-line-row-vector-in-SAS-dataset/m-p/462194#M117626</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2018-05-14T20:39:14Z</dc:date>
    </item>
    <item>
      <title>Re: Needs help in calculating line/row vector in SAS dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Needs-help-in-calculating-line-row-vector-in-SAS-dataset/m-p/462195#M117627</link>
      <description>&lt;P&gt;Please post your data as text, I would have to type it out to work with it. And what are the rules, how is ID2 and Value calculated, explicitly?&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;You can use IML, but you could also use a data step with a temporary array approach, as well.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/32269"&gt;@daradanye&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;Hi all,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I need SAS to do the following thing:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For id 1 to n, I need to calculate dot product of line vector of id 1 and column vector of other n-1 observations to get the value.&amp;nbsp; Basically, I need to obtain the second dataset from the first dataset.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I guess I need to use proc iml.&amp;nbsp; But after reading examples and basic instructions, I still have no clue of how to do it.&amp;nbsp; I will appreciate it very much if someone can give me some hints or sample code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Many thanks!&lt;/P&gt;
&lt;P&gt;Dara&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="a.PNG" style="width: 356px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/20515i6896B8C57FD4EBF2/image-size/large?v=v2&amp;amp;px=999" role="button" title="a.PNG" alt="a.PNG" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="b.PNG" style="width: 230px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/20516iE0CBDCA737D7CEA0/image-size/large?v=v2&amp;amp;px=999" role="button" title="b.PNG" alt="b.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 14 May 2018 20:39:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Needs-help-in-calculating-line-row-vector-in-SAS-dataset/m-p/462195#M117627</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2018-05-14T20:39:50Z</dc:date>
    </item>
    <item>
      <title>Re: Needs help in calculating line/row vector in SAS dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Needs-help-in-calculating-line-row-vector-in-SAS-dataset/m-p/462200#M117629</link>
      <description>&lt;P&gt;Hi Paige,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you so much for your quick reply.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am assuming each observation (each id) as a unique row vector.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Vector1=(3,2,5,0)&lt;/P&gt;&lt;P&gt;Vector2=(4,0,1,2)&lt;/P&gt;&lt;P&gt;Vector3=(3,2,3,3)&lt;/P&gt;&lt;P&gt;Vector4=(1,3,0,4)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I need to calculate is:&lt;/P&gt;&lt;P&gt;Vector1 * transpose(Vector2) =3*4+2*0+5*1=17&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Vector1 * transpose(Vector3)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Vector1 * transpose(Vector4)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Vector2 * transpose(Vector1)&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Vector2 * transpose(Vector3)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Vector2 * transpose(Vector4)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Vector3 * transpose(Vector1)&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Vector3 * transpose(Vector2)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Vector3 * transpose(Vector4)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Vector4 * transpose(Vector1)&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Vector4 * transpose(Vector2)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Vector4 * transpose(Vector3)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Hope it is clear now &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Dara&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 14 May 2018 20:48:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Needs-help-in-calculating-line-row-vector-in-SAS-dataset/m-p/462200#M117629</guid>
      <dc:creator>daradanye</dc:creator>
      <dc:date>2018-05-14T20:48:15Z</dc:date>
    </item>
    <item>
      <title>Re: Needs help in calculating line/row vector in SAS dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Needs-help-in-calculating-line-row-vector-in-SAS-dataset/m-p/462203#M117632</link>
      <description>&lt;P&gt;Hi Reeza,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you so much.&amp;nbsp; Attached is the data.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am assuming each observation (each id) as a unique row vector.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Vector1=(3,2,5,0)&lt;/P&gt;&lt;P&gt;Vector2=(4,0,1,2)&lt;/P&gt;&lt;P&gt;Vector3=(3,2,3,3)&lt;/P&gt;&lt;P&gt;Vector4=(1,3,0,4)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I need to calculate is:&lt;/P&gt;&lt;P&gt;Vector1 * transpose(Vector2) =3*4+2*0+5*1=17&lt;/P&gt;&lt;P&gt;Vector1 * transpose(Vector3)&lt;/P&gt;&lt;P&gt;Vector1 * transpose(Vector4)&lt;/P&gt;&lt;P&gt;Vector2 * transpose(Vector1)&lt;/P&gt;&lt;P&gt;Vector2 * transpose(Vector3)&lt;/P&gt;&lt;P&gt;Vector2 * transpose(Vector4)&lt;/P&gt;&lt;P&gt;Vector3 * transpose(Vector1)&lt;/P&gt;&lt;P&gt;Vector3 * transpose(Vector2)&lt;/P&gt;&lt;P&gt;Vector3 * transpose(Vector4)&lt;/P&gt;&lt;P&gt;Vector4 * transpose(Vector1)&lt;/P&gt;&lt;P&gt;Vector4 * transpose(Vector2)&lt;/P&gt;&lt;P&gt;Vector4 * transpose(Vector3)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Dara&lt;/P&gt;</description>
      <pubDate>Mon, 14 May 2018 20:53:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Needs-help-in-calculating-line-row-vector-in-SAS-dataset/m-p/462203#M117632</guid>
      <dc:creator>daradanye</dc:creator>
      <dc:date>2018-05-14T20:53:25Z</dc:date>
    </item>
    <item>
      <title>Re: Needs help in calculating line/row vector in SAS dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Needs-help-in-calculating-line-row-vector-in-SAS-dataset/m-p/462315#M117689</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/32269"&gt;@daradanye&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;Hi Paige,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you so much for your quick reply.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am assuming each observation (each id) as a unique row vector.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Vector1=(3,2,5,0)&lt;/P&gt;
&lt;P&gt;Vector2=(4,0,1,2)&lt;/P&gt;
&lt;P&gt;Vector3=(3,2,3,3)&lt;/P&gt;
&lt;P&gt;Vector4=(1,3,0,4)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;What I need to calculate is:&lt;/P&gt;
&lt;P&gt;Vector1 * transpose(Vector2) =3*4+2*0+5*1=17&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Vector1 * transpose(Vector3)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Vector1 * transpose(Vector4)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Vector2 * transpose(Vector1)&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Vector2 * transpose(Vector3)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Vector2 * transpose(Vector4)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Vector3 * transpose(Vector1)&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Vector3 * transpose(Vector2)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Vector3 * transpose(Vector4)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Vector4 * transpose(Vector1)&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Vector4 * transpose(Vector2)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Vector4 * transpose(Vector3)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Hope it is clear now &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Dara&lt;/SPAN&gt;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;You have pretty much written the code yourself, except that you would use the T function instead of the word "transpose". Please give it a try and report back if things don't work. Show us the SASLOG and we can probably advise further.&lt;/P&gt;</description>
      <pubDate>Tue, 15 May 2018 12:06:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Needs-help-in-calculating-line-row-vector-in-SAS-dataset/m-p/462315#M117689</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2018-05-15T12:06:57Z</dc:date>
    </item>
    <item>
      <title>Re: Needs help in calculating line/row vector in SAS dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Needs-help-in-calculating-line-row-vector-in-SAS-dataset/m-p/462342#M117704</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input id class1-class4;
cards;
1 3 2 5 0
2 4 0 1 2
3 3 2 3 3
4 1 3 0 4
;
run;
proc iml;
use have(keep=class:) nobs nobs;
read all var _num_ into x;
close;
do i=1 to nobs-1;
 do j=i+1 to nobs;
   id1=id1//i;id2=id2//j;
   value=value//sum(x[i,]#x[j,]);
 end;
end;
create want var {id1 id2 value};
append;
close;
quit;

&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 15 May 2018 13:13:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Needs-help-in-calculating-line-row-vector-in-SAS-dataset/m-p/462342#M117704</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2018-05-15T13:13:54Z</dc:date>
    </item>
  </channel>
</rss>

