<?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: assign observations into groups based on variables in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/assign-observations-into-groups-based-on-variables/m-p/796158#M255451</link>
    <description>&lt;P&gt;Not sure exactly what you mean by "similar". Can you show us (a portion) of the clusters that result?&lt;/P&gt;</description>
    <pubDate>Mon, 14 Feb 2022 22:28:06 GMT</pubDate>
    <dc:creator>PaigeMiller</dc:creator>
    <dc:date>2022-02-14T22:28:06Z</dc:date>
    <item>
      <title>assign observations into groups based on variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/assign-observations-into-groups-based-on-variables/m-p/795561#M255200</link>
      <description>&lt;P&gt;hello folks,&lt;/P&gt;&lt;P&gt;I am trying to assign each observation into 3 groups based on two variables (N size and score) so that each group has similar values in two variables ( e.i. average N size and score per group is similar). I have a small size mock up data shown below ( of course my real data is longer). How should I write a code for group assignment?&lt;/P&gt;&lt;P&gt;data1&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;id&lt;/TD&gt;&lt;TD&gt;N size&lt;/TD&gt;&lt;TD&gt;score&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;A&lt;/TD&gt;&lt;TD&gt;10&lt;/TD&gt;&lt;TD&gt;131&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;B&lt;/TD&gt;&lt;TD&gt;30&lt;/TD&gt;&lt;TD&gt;127&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;C&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;109&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;D&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;110&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;E&lt;/TD&gt;&lt;TD&gt;9&lt;/TD&gt;&lt;TD&gt;125&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;F&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;51&lt;/TD&gt;&lt;TD&gt;127&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;G&lt;/TD&gt;&lt;TD&gt;22&lt;/TD&gt;&lt;TD&gt;119&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;H&lt;/TD&gt;&lt;TD&gt;42&lt;/TD&gt;&lt;TD&gt;130&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;I&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;100&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Thu, 10 Feb 2022 20:58:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/assign-observations-into-groups-based-on-variables/m-p/795561#M255200</guid>
      <dc:creator>leex1514</dc:creator>
      <dc:date>2022-02-10T20:58:25Z</dc:date>
    </item>
    <item>
      <title>Re: assign observations into groups based on variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/assign-observations-into-groups-based-on-variables/m-p/795569#M255201</link>
      <description>&lt;P&gt;PROC FASTCLUS&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;or&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;PROC CLUSTER with method = AVERAGE&lt;/P&gt;</description>
      <pubDate>Thu, 10 Feb 2022 22:24:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/assign-observations-into-groups-based-on-variables/m-p/795569#M255201</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2022-02-10T22:24:58Z</dc:date>
    </item>
    <item>
      <title>Re: assign observations into groups based on variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/assign-observations-into-groups-based-on-variables/m-p/795590#M255213</link>
      <description>&lt;P&gt;I think it is more like a OR problem.&lt;/P&gt;
&lt;P&gt;Post it at OR froum&lt;/P&gt;
&lt;P&gt;&lt;A href="https://communities.sas.com/t5/Mathematical-Optimization/bd-p/operations_research" target="_blank"&gt;https://communities.sas.com/t5/Mathematical-Optimization/bd-p/operations_research&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;and calling out&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/1636"&gt;@RobPratt&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;here is&amp;nbsp;@Rick_SAS blog about it ,maybe could give you a&amp;nbsp; help.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://blogs.sas.com/content/iml/2017/05/01/split-data-groups-mean-variance.html" target="_blank"&gt;https://blogs.sas.com/content/iml/2017/05/01/split-data-groups-mean-variance.html&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 11 Feb 2022 03:53:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/assign-observations-into-groups-based-on-variables/m-p/795590#M255213</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2022-02-11T03:53:16Z</dc:date>
    </item>
    <item>
      <title>Re: assign observations into groups based on variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/assign-observations-into-groups-based-on-variables/m-p/795596#M255217</link>
      <description>&lt;P&gt;Please see my answer to &lt;A href="https://communities.sas.com/t5/General-SAS-Programming/Creating-Groups-of-Equal-Size/td-p/268862" target="_self"&gt;this earlier question&lt;/A&gt; for an approach that uses PROC OPTMODEL.&lt;/P&gt;</description>
      <pubDate>Fri, 11 Feb 2022 04:59:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/assign-observations-into-groups-based-on-variables/m-p/795596#M255217</guid>
      <dc:creator>RobPratt</dc:creator>
      <dc:date>2022-02-11T04:59:33Z</dc:date>
    </item>
    <item>
      <title>Re: assign observations into groups based on variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/assign-observations-into-groups-based-on-variables/m-p/795600#M255219</link>
      <description>&lt;P&gt;I took code from&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13684"&gt;@Rick_SAS&lt;/a&gt;&amp;nbsp; . But best choice is SAS/OR .&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data Units;
infile cards expandtabs;
input id $  size	score;
cards;
A	10	131
B	30	127
C	4	109
D	1	110
E	9	125
F 	51	127
G	22	119
H	42	130
I	7	100
;


%let NumGroups =3;           /* number of treatment groups */
data Treatments;
do Trt = 1 to &amp;amp;NumGroups;    /* Trt is variable that assigns patients to groups */
   output;
end;
run;

%let Var = size score;      /* names of multiple covariates */
proc optex data=Treatments seed=97531 coding=orthcan;
   class Trt;
   model Trt;              /* specify treatment model */
   blocks design=Units;    /* specify units */
   model &amp;amp;Var;             /* multiple covariate means will be approx same */
   output out=Groups;      /* merged data: units assigned to groups */
run;

proc means data=Groups mean std;
  class Trt;
  var &amp;amp;Var;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Ksharp_0-1644557111080.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/68384i578239A2971FE50C/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Ksharp_0-1644557111080.png" alt="Ksharp_0-1644557111080.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 11 Feb 2022 05:25:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/assign-observations-into-groups-based-on-variables/m-p/795600#M255219</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2022-02-11T05:25:28Z</dc:date>
    </item>
    <item>
      <title>Re: assign observations into groups based on variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/assign-observations-into-groups-based-on-variables/m-p/796147#M255441</link>
      <description>&lt;P&gt;It does not look like either method brings me similar average values in each variable. Is there any method how to assign each observation into 5 groups so that each group has similar average of v1 and v2?&lt;/P&gt;</description>
      <pubDate>Mon, 14 Feb 2022 21:14:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/assign-observations-into-groups-based-on-variables/m-p/796147#M255441</guid>
      <dc:creator>leex1514</dc:creator>
      <dc:date>2022-02-14T21:14:55Z</dc:date>
    </item>
    <item>
      <title>Re: assign observations into groups based on variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/assign-observations-into-groups-based-on-variables/m-p/796158#M255451</link>
      <description>&lt;P&gt;Not sure exactly what you mean by "similar". Can you show us (a portion) of the clusters that result?&lt;/P&gt;</description>
      <pubDate>Mon, 14 Feb 2022 22:28:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/assign-observations-into-groups-based-on-variables/m-p/796158#M255451</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2022-02-14T22:28:06Z</dc:date>
    </item>
    <item>
      <title>Re: assign observations into groups based on variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/assign-observations-into-groups-based-on-variables/m-p/796196#M255475</link>
      <description>For 3 groups i would like to assign, I hope to see each group's mean of N size and mean of score same (similar if not same): group 1 average N size =50 average score=60, group 2 average N size =50 average score=60,, group 3 average N size =50 average score=60 something like this. I am aware the averages can not be exactly same among groups but similar means within one or two points difference.</description>
      <pubDate>Tue, 15 Feb 2022 02:52:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/assign-observations-into-groups-based-on-variables/m-p/796196#M255475</guid>
      <dc:creator>leex1514</dc:creator>
      <dc:date>2022-02-15T02:52:37Z</dc:date>
    </item>
    <item>
      <title>Re: assign observations into groups based on variables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/assign-observations-into-groups-based-on-variables/m-p/796537#M255614</link>
      <description>Thank you RobPratt. This solution works as well.</description>
      <pubDate>Wed, 16 Feb 2022 13:05:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/assign-observations-into-groups-based-on-variables/m-p/796537#M255614</guid>
      <dc:creator>leex1514</dc:creator>
      <dc:date>2022-02-16T13:05:58Z</dc:date>
    </item>
  </channel>
</rss>

