<?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 Reg:Clustering in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Reg-Clustering/m-p/50453#M13777</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't understand what you are trying to do.&amp;nbsp; You example, IMHO, didn't provide enough information.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 18 Aug 2011 11:45:56 GMT</pubDate>
    <dc:creator>art297</dc:creator>
    <dc:date>2011-08-18T11:45:56Z</dc:date>
    <item>
      <title>Reg:Clustering</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Reg-Clustering/m-p/50452#M13776</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;BR /&gt;Data Temp;&lt;BR /&gt;input a b c d;&lt;BR /&gt;cards;&lt;BR /&gt;1 2 3 4&lt;BR /&gt;2 3 4 1&lt;BR /&gt;5 6 7 8&lt;BR /&gt;10 11 12 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;BR /&gt;89 78 23 3&lt;BR /&gt;90 91 92 93&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;HI i wnat to create one cluster no on a,b,c,d variable if atleast one is matching in the entire row&lt;/P&gt;&lt;P&gt;for cluster id 1 that i have given is having some thing in common and if it is not matching any where it should give the new number and if all the four are blank &lt;/P&gt;&lt;P&gt;then new number for each one like this i want.&lt;/P&gt;&lt;P&gt;output &lt;BR /&gt;a b c d cluster_id&lt;BR /&gt;1 2 3 4&amp;nbsp; 1&lt;BR /&gt;2 3 4 1&amp;nbsp; 1&lt;BR /&gt;5 6 7 8&amp;nbsp; 2&lt;BR /&gt;10 11 12 1 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4 &lt;BR /&gt;89 78 23 3 1&lt;BR /&gt;90 91 92 93 5&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Aug 2011 08:56:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Reg-Clustering/m-p/50452#M13776</guid>
      <dc:creator>R_Win</dc:creator>
      <dc:date>2011-08-18T08:56:22Z</dc:date>
    </item>
    <item>
      <title>Reg:Clustering</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Reg-Clustering/m-p/50453#M13777</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't understand what you are trying to do.&amp;nbsp; You example, IMHO, didn't provide enough information.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Aug 2011 11:45:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Reg-Clustering/m-p/50453#M13777</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2011-08-18T11:45:56Z</dc:date>
    </item>
    <item>
      <title>Reg:Clustering</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Reg-Clustering/m-p/50454#M13778</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;output &lt;BR /&gt;a b c d cluster_id&lt;BR /&gt;1 2 3 4&amp;nbsp; 1&amp;nbsp;&amp;nbsp; *the clster id is 1 as it is the intial one*&lt;BR /&gt;2 3 4 1&amp;nbsp; 1&amp;nbsp;&amp;nbsp; *the clster id is 1 as 2 3 4 are there in clusterid 1*&lt;BR /&gt;5 6 7 8&amp;nbsp; 2&amp;nbsp;&amp;nbsp; *the clster id is 2 as it is no combitantions of 1 *&lt;BR /&gt;10 11 12 1 1&amp;nbsp; *the clster id is 1 as one is matching form the cluster id *&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&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; *the clster id is 3 as it is all blank *&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *the clster id is 4 as it is all blank *&lt;BR /&gt;89 78 23 3 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *the clster id is 1 as 3 is matching form the cluster id 1 so again assained cluster 1 for this&amp;nbsp; *&lt;/P&gt;&lt;P&gt;90 91 92 93 5&amp;nbsp;&amp;nbsp;&amp;nbsp; *the clster id is 5 as it no relation with the above ones*&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Aug 2011 11:51:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Reg-Clustering/m-p/50454#M13778</guid>
      <dc:creator>R_Win</dc:creator>
      <dc:date>2011-08-18T11:51:26Z</dc:date>
    </item>
    <item>
      <title>Reg:Clustering</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Reg-Clustering/m-p/50455#M13779</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;output &lt;BR /&gt;a b c d cluster_id&lt;BR /&gt;1 2 3 4&amp;nbsp; 1&amp;nbsp;&amp;nbsp; *the clster id is 1 as it is the intial one*&lt;BR /&gt;2 3 4 1&amp;nbsp; 1&amp;nbsp;&amp;nbsp; *the clster id is 1 as 2 3 4 are there in clusterid 1*&lt;BR /&gt;5 6 7 8&amp;nbsp; 2&amp;nbsp;&amp;nbsp; *the clster id is 2 as it is no combitantions of 1 *&lt;BR /&gt;10 11 12 1 1&amp;nbsp; *the clster id is 1 as one is matching form the cluster id *&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3&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; *the clster id is 3 as it is all blank *&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *the clster id is 4 as it is all blank *&lt;BR /&gt;89 78 23 3 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *the clster id is 1 as 3 is matching form the cluster id 1 so again assained cluster 1 for this&amp;nbsp; *&lt;/P&gt;&lt;P&gt;90 91 92 93 5&amp;nbsp;&amp;nbsp;&amp;nbsp; *the clster id is 5 as it no relation with the above ones*&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Aug 2011 11:52:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Reg-Clustering/m-p/50455#M13779</guid>
      <dc:creator>R_Win</dc:creator>
      <dc:date>2011-08-18T11:52:24Z</dc:date>
    </item>
    <item>
      <title>Reg:Clustering</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Reg-Clustering/m-p/50456#M13780</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm not sure if this is what you want, and I am sure that the following can be simplified, but does it come close to what you are trying to accomplish?:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Data Temp;&lt;/P&gt;&lt;P&gt;input a b c d;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;1 2 3 4&lt;/P&gt;&lt;P&gt;2 3 4 1&lt;/P&gt;&lt;P&gt;5 6 7 8&lt;/P&gt;&lt;P&gt;10 11 12 1&lt;/P&gt;&lt;P&gt;. . . .&lt;/P&gt;&lt;P&gt;. . . .&lt;/P&gt;&lt;P&gt;89 78 23 3&lt;/P&gt;&lt;P&gt;90 91 92 93&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want (keep=cluster a b c d);&lt;/P&gt;&lt;P&gt;&amp;nbsp; set temp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array values(99999);&lt;/P&gt;&lt;P&gt;&amp;nbsp; array inval(*) a b c d;&lt;/P&gt;&lt;P&gt;&amp;nbsp; retain values:;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if _n_ eq 1 then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; hcluster+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; do i=1 to dim(inval);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if not missing(inval(i)) then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values(inval(i))=hcluster;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cluster=hcluster;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if missing(max(of inval(*))) then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hcluster+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cluster=hcluster;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do i=1 to dim(inval);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if not missing(values(inval(i))) then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cluster=values(inval(i));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i=dim(inval)+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if missing(cluster) then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hcluster+1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cluster=hcluster;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do i=1 to dim(inval);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; values(inval(i))=cluster;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Aug 2011 13:05:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Reg-Clustering/m-p/50456#M13780</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2011-08-18T13:05:35Z</dc:date>
    </item>
    <item>
      <title>Reg:Clustering</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Reg-Clustering/m-p/50457#M13781</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; I prefer to use Hash Table .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;Data Temp;
input a b c d;
cards;
1 2 3 4
2 3 4 1
5 6 7 8
10 11 12 1
. . . .
. . . .
89 78 23 3
90 91 92 93
;
run;
data want(drop=rc i j k _k found flag _flag);
 if _n_ eq 1 then do;
&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; declare hash ha(hashexp:10);
&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; ha.definekey('k');
&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; ha.definedata('flag');
&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; ha.definedone();
&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; end;
 set temp;
 array var{*} a b c d;
 do i=1 to dim(var);
&amp;nbsp; k=var{i};rc=ha.check();
&amp;nbsp; if rc eq 0 then do;found=1;_k=k;end;
 end;
 if found then do;k=_k;ha.find(); cluster_id=flag;end;
&amp;nbsp; else do;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _flag+1; flag=_flag;cluster_id=flag;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; do j=1 to dim(var);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; k=var{j};if not missing(k) then ha.replace();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end;
run;



&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ksharp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 19 Aug 2011 06:49:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Reg-Clustering/m-p/50457#M13781</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2011-08-19T06:49:15Z</dc:date>
    </item>
  </channel>
</rss>

