<?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: Vectors / Vector Space Model in SAS Data Science</title>
    <link>https://communities.sas.com/t5/SAS-Data-Science/Vectors-Vector-Space-Model/m-p/308024#M9643</link>
    <description>&lt;P&gt;I know nothing about this topic, but a quick goggle search led to a couple of R packages and since SAS now integrates through IML to R you can use these packages from SAS&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;see&lt;/P&gt;&lt;PRE class="sourceCode r"&gt;&lt;CODE class="sourceCode r"&gt;&lt;SPAN class="kw"&gt;library&lt;/SPAN&gt;(RNewsflow)&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;A href="https://cran.r-project.org/web/packages/RNewsflow/vignettes/RNewsflow.html" target="_blank"&gt;https://cran.r-project.org/web/packages/RNewsflow/vignettes/RNewsflow.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://cran.r-project.org/web/packages/jmotif/README.html" target="_blank"&gt;https://cran.r-project.org/web/packages/jmotif/README.html&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 28 Oct 2016 20:44:53 GMT</pubDate>
    <dc:creator>rogerjdeangelis</dc:creator>
    <dc:date>2016-10-28T20:44:53Z</dc:date>
    <item>
      <title>Vectors / Vector Space Model</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Vectors-Vector-Space-Model/m-p/308018#M9642</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have an observation with two text fields that contain&amp;nbsp;listings of error keys.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I need to convert these fields into two vectors the have a zero/one indicator for each error&amp;nbsp;key. I then need to be able to perform some basic matrix algebra on the vectors and store the results (a numeric value) in a third picture.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;EXAMPLE&lt;/P&gt;
&lt;P&gt;Field 1: “112 1454 122 342”&lt;/P&gt;
&lt;P&gt;Field 2: “122 1343 32”&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Key for Vector Element&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 112 1454 122 342 1343 32&lt;/P&gt;
&lt;P&gt;Field 1 Vector:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;
&lt;P&gt;Field 2 Vector:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&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;This is essentially a numerical application of the Salton Wong and Yang (1975) vector space model.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Does anyone have any code handy to do this, or can anyone point me to resources where I can learn it myself? I've been struggling to find stuff.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you all!&lt;/P&gt;</description>
      <pubDate>Fri, 28 Oct 2016 20:15:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Vectors-Vector-Space-Model/m-p/308018#M9642</guid>
      <dc:creator>mbaugh</dc:creator>
      <dc:date>2016-10-28T20:15:29Z</dc:date>
    </item>
    <item>
      <title>Re: Vectors / Vector Space Model</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Vectors-Vector-Space-Model/m-p/308024#M9643</link>
      <description>&lt;P&gt;I know nothing about this topic, but a quick goggle search led to a couple of R packages and since SAS now integrates through IML to R you can use these packages from SAS&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;see&lt;/P&gt;&lt;PRE class="sourceCode r"&gt;&lt;CODE class="sourceCode r"&gt;&lt;SPAN class="kw"&gt;library&lt;/SPAN&gt;(RNewsflow)&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;A href="https://cran.r-project.org/web/packages/RNewsflow/vignettes/RNewsflow.html" target="_blank"&gt;https://cran.r-project.org/web/packages/RNewsflow/vignettes/RNewsflow.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A href="https://cran.r-project.org/web/packages/jmotif/README.html" target="_blank"&gt;https://cran.r-project.org/web/packages/jmotif/README.html&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 28 Oct 2016 20:44:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Vectors-Vector-Space-Model/m-p/308024#M9643</guid>
      <dc:creator>rogerjdeangelis</dc:creator>
      <dc:date>2016-10-28T20:44:53Z</dc:date>
    </item>
    <item>
      <title>Re: Vectors / Vector Space Model</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Vectors-Vector-Space-Model/m-p/308066#M9644</link>
      <description>&lt;PRE&gt;
You should post it at IML forum since it is about Matrix operation.

data have;
Field1='112 1454 122 342';
Field2='122 1343 32';output;
run;
proc iml;
use have;
read all var {field1 field2};
close;
n1=countw(field1);
temp1=scan(field1,1:n1);
n2=countw(field2);
temp2=scan(field2,1:n2);

all=union(temp1,temp2);

new_field1=t(element(all,temp1));
new_field2=t(element(all,temp2));
print new_field1[r=all],new_field2[r=all];

quit;


&lt;/PRE&gt;</description>
      <pubDate>Sat, 29 Oct 2016 05:07:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Vectors-Vector-Space-Model/m-p/308066#M9644</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-10-29T05:07:31Z</dc:date>
    </item>
    <item>
      <title>Re: Vectors / Vector Space Model</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Vectors-Vector-Space-Model/m-p/309127#M9645</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/18408"&gt;@Ksharp﻿&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks for the code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There's one hiccup I can't work out.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If document 1 equals "2 22 4 42"&lt;/P&gt;
&lt;P&gt;and document 2 equals "2 4"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The vectors for document 2 ticks 1 for all four codes, not just 2 and 4.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I've modified the code&amp;nbsp;slightly, perhaps I did something but I don't think so:&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;data have;&lt;BR /&gt;Field1='4 2 22 42';&lt;BR /&gt;Field2='4 2';output;&lt;BR /&gt;run;&lt;BR /&gt;proc iml;&lt;BR /&gt;use have;&lt;BR /&gt;read all var {field1 field2};&lt;BR /&gt;close;&lt;BR /&gt;n1=countw(field1);&lt;BR /&gt;temp1=scan(field1,1:n1);&lt;BR /&gt;n2=countw(field2);&lt;BR /&gt;temp2=scan(field2,1:n2);&lt;/P&gt;
&lt;P&gt;all=union(temp1,temp2);&lt;/P&gt;
&lt;P&gt;vector1=t(element(all,temp1));&lt;BR /&gt;vector2=t(element(all,temp2));&lt;BR /&gt;v1 = sqrt(sum(vector1));&lt;BR /&gt;v2 = sqrt(sum(vector2));&lt;BR /&gt;dotproduct = vector1` * vector2 ;&lt;BR /&gt;similarity = dotproduct / (v1*v2) ;&lt;BR /&gt;print vector1[r=all],vector2[r=all], v1, v2, dotproduct, similarity;&lt;/P&gt;
&lt;P&gt;quit;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Any suggestions would be appeciated! Thanks so much!&lt;/P&gt;</description>
      <pubDate>Thu, 03 Nov 2016 19:20:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Vectors-Vector-Space-Model/m-p/309127#M9645</guid>
      <dc:creator>mbaugh</dc:creator>
      <dc:date>2016-11-03T19:20:16Z</dc:date>
    </item>
    <item>
      <title>Re: Vectors / Vector Space Model</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Vectors-Vector-Space-Model/m-p/309167#M9646</link>
      <description>&lt;PRE&gt;
What if your data look like the following, what you gonna do ?

 
If document 1 equals "2 22 4 42 142 "
and document 2 equals "2 4"


&lt;/PRE&gt;</description>
      <pubDate>Fri, 04 Nov 2016 02:23:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Vectors-Vector-Space-Model/m-p/309167#M9646</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-11-04T02:23:36Z</dc:date>
    </item>
    <item>
      <title>Re: Vectors / Vector Space Model</title>
      <link>https://communities.sas.com/t5/SAS-Data-Science/Vectors-Vector-Space-Model/m-p/309179#M9647</link>
      <description>&lt;P&gt;OK. Assuming I understand what you mean.&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 have;
Field1='2 22 4 42';
Field2='2 4';output;
run;
proc iml;
use have;
read all var {field1 field2};
close;
n1=countw(field1);
temp1=scan(field1,1:n1);
n2=countw(field2);
temp2=scan(field2,1:n2);

all=union(temp1,temp2);

newfield1=j(1,ncol(all));
newfield2=j(1,ncol(all));

 do j=1 to ncol(all);
   temp=all[j];
   t=substr(temp,1:length(temp),1); 
   newfield1[j]=all(element(t,temp1));
   newfield2[j]=all(element(t,temp2));
 end;
 
want=newfield1//newfield2;
mattrib want r={newfield1 newfield2} c=all l='';
print want;
quit;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 04 Nov 2016 04:25:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Science/Vectors-Vector-Space-Model/m-p/309179#M9647</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-11-04T04:25:25Z</dc:date>
    </item>
  </channel>
</rss>

