<?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 Building ngrams-2 using arrays possible? in SAS Enterprise Guide</title>
    <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Building-ngrams-2-using-arrays-possible/m-p/415268#M26699</link>
    <description>&lt;P&gt;I am trying to create 2 letter bigram using arrays and then multiple steps (proc transpose and STDZ) to arrive the desired result.but i would like to achieve the same if there is way in minimizing all these steps and use just arrays.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I heard that this can be do able in e-miner/text mining module but is there a better a way to achieve through Base/Macros efficiently?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;what I have tried is here&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test;
input x$1-14 ;
datalines;
test one
test two
test three
;
run;

data bigram( drop=i);
 set test;
 n+1;
 do i=1 to lengthn(x)-1;
 v=substr(x,i,2);output;
 end;
 run;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;n&lt;/TD&gt;&lt;TD&gt;v&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test one&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;te&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test one&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;es&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test one&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;st&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test one&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;t&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test one&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;o&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test one&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;on&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test one&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;ne&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test two&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;te&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test two&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;es&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test two&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;st&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test two&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;t&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test two&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;t&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test two&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;tw&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test two&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;wo&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test three&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;te&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test three&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;es&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test three&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;st&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test three&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;t&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test three&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;t&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test three&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;th&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test three&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;hr&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test three&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;re&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test three&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;ee&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;&amp;nbsp;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Expecting this way to minimize number of intermediate steps and computationally efficient when deal with huge number of observations.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Taking two letter unique bi grams from three rows and occurrence of that bigram in a given string coded as 1 else 0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Desired result&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;x	       te	es	st	t	o	on	ne	tw	wo	th	hr	re	ee
test one	1	1	1	1	1	1	1	0	0	0	0	0	0
test two	1	1	1	1	0	0	0	1	1	0	0	0	0
test three	1	1	1	1	0	0	0	0	0	1	1	1	1&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Tue, 21 Nov 2017 17:50:03 GMT</pubDate>
    <dc:creator>Krishnaid</dc:creator>
    <dc:date>2017-11-21T17:50:03Z</dc:date>
    <item>
      <title>Building ngrams-2 using arrays possible?</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Building-ngrams-2-using-arrays-possible/m-p/415268#M26699</link>
      <description>&lt;P&gt;I am trying to create 2 letter bigram using arrays and then multiple steps (proc transpose and STDZ) to arrive the desired result.but i would like to achieve the same if there is way in minimizing all these steps and use just arrays.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I heard that this can be do able in e-miner/text mining module but is there a better a way to achieve through Base/Macros efficiently?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;what I have tried is here&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data test;
input x$1-14 ;
datalines;
test one
test two
test three
;
run;

data bigram( drop=i);
 set test;
 n+1;
 do i=1 to lengthn(x)-1;
 v=substr(x,i,2);output;
 end;
 run;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;x&lt;/TD&gt;&lt;TD&gt;n&lt;/TD&gt;&lt;TD&gt;v&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test one&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;te&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test one&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;es&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test one&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;st&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test one&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;t&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test one&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;o&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test one&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;on&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test one&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;ne&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test two&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;te&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test two&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;es&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test two&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;st&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test two&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;t&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test two&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;t&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test two&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;tw&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test two&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;wo&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test three&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;te&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test three&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;es&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test three&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;st&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test three&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;t&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test three&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;t&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test three&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;th&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test three&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;hr&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test three&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;re&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;test three&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;ee&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;&amp;nbsp;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Expecting this way to minimize number of intermediate steps and computationally efficient when deal with huge number of observations.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Taking two letter unique bi grams from three rows and occurrence of that bigram in a given string coded as 1 else 0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Desired result&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;x	       te	es	st	t	o	on	ne	tw	wo	th	hr	re	ee
test one	1	1	1	1	1	1	1	0	0	0	0	0	0
test two	1	1	1	1	0	0	0	1	1	0	0	0	0
test three	1	1	1	1	0	0	0	0	0	1	1	1	1&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 21 Nov 2017 17:50:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Building-ngrams-2-using-arrays-possible/m-p/415268#M26699</guid>
      <dc:creator>Krishnaid</dc:creator>
      <dc:date>2017-11-21T17:50:03Z</dc:date>
    </item>
    <item>
      <title>Re: Building ngrams-2 using arrays possible?</title>
      <link>https://communities.sas.com/t5/SAS-Enterprise-Guide/Building-ngrams-2-using-arrays-possible/m-p/415272#M26700</link>
      <description>&lt;P&gt;I don't think arrays will work here any more efficiently because you have the variable names as the ngrams. If they were part of the data then yes an array could work.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;One other possible method:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;There are (26 choose 2=325) possible combinations + all single values (26) = 351 &amp;nbsp;combinations. Create all and then as you find each, change the indicator variable to a 1/0. &amp;nbsp;But if your data is smaller it may be overkill here to have 351 variables.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 21 Nov 2017 18:19:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Enterprise-Guide/Building-ngrams-2-using-arrays-possible/m-p/415272#M26700</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-11-21T18:19:40Z</dc:date>
    </item>
  </channel>
</rss>

