<?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: Random draw out of a household in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/Random-draw-out-of-a-household/m-p/611957#M18264</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/52727"&gt;@lizzy28&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The code-implemetation of&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/31461"&gt;@mkeintz&lt;/a&gt;&amp;nbsp;is given below:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
   call streaminit(123);
   do count = 1 by 1 until(last.house_id);
      set household;
      by house_id;
   end;
   rnd = ceil(rand('UNIFORM') * count);
   do count = 1 by 1 until(last.house_id);
      set household;
      by house_id;
      if rnd = count then output; 
    end;
drop count rnd ;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 16 Dec 2019 05:49:45 GMT</pubDate>
    <dc:creator>KachiM</dc:creator>
    <dc:date>2019-12-16T05:49:45Z</dc:date>
    <item>
      <title>Random draw out of a household</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Random-draw-out-of-a-household/m-p/611949#M18260</link>
      <description>&lt;P&gt;Hi everyone,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have a dataset with two identifiers: one (person_id) for each person, and the other (house_id) for each household. Multiple members with different person_ids in a household share one house_id. Is there a quick way to draw randomly one member out of each household?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Below is my sample data:&lt;/P&gt;
&lt;TABLE width="261"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="69"&gt;person_id&lt;/TD&gt;
&lt;TD width="64"&gt;house_id&lt;/TD&gt;
&lt;TD width="64"&gt;Gender&lt;/TD&gt;
&lt;TD width="64"&gt;Category&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345611&lt;/TD&gt;
&lt;TD&gt;123456&lt;/TD&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345612&lt;/TD&gt;
&lt;TD&gt;123456&lt;/TD&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;12345613&lt;/TD&gt;
&lt;TD&gt;123456&lt;/TD&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;23456711&lt;/TD&gt;
&lt;TD&gt;234567&lt;/TD&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;23456712&lt;/TD&gt;
&lt;TD&gt;234567&lt;/TD&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;45678911&lt;/TD&gt;
&lt;TD&gt;456789&lt;/TD&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;45678912&lt;/TD&gt;
&lt;TD&gt;456789&lt;/TD&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;65432111&lt;/TD&gt;
&lt;TD&gt;654321&lt;/TD&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;65432112&lt;/TD&gt;
&lt;TD&gt;654321&lt;/TD&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The target dataset could be:&lt;/P&gt;
&lt;TABLE style="border-collapse: collapse; width: 192pt;" border="0" width="256" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD width="64" height="20" style="height: 15.0pt; width: 48pt;"&gt;person_id&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;house_id&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;Gender&lt;/TD&gt;
&lt;TD width="64" style="width: 48pt;"&gt;Category&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;12345611&lt;/TD&gt;
&lt;TD align="right"&gt;123456&lt;/TD&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;23456712&lt;/TD&gt;
&lt;TD align="right"&gt;234567&lt;/TD&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD align="right"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;45678911&lt;/TD&gt;
&lt;TD align="right"&gt;456789&lt;/TD&gt;
&lt;TD&gt;M&lt;/TD&gt;
&lt;TD align="right"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR style="height: 15.0pt;"&gt;
&lt;TD height="20" align="right" style="height: 15.0pt;"&gt;65432112&lt;/TD&gt;
&lt;TD align="right"&gt;654321&lt;/TD&gt;
&lt;TD&gt;F&lt;/TD&gt;
&lt;TD align="right"&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you!&lt;/P&gt;
&lt;P&gt;Lizi&lt;/P&gt;</description>
      <pubDate>Mon, 16 Dec 2019 04:27:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Random-draw-out-of-a-household/m-p/611949#M18260</guid>
      <dc:creator>lizzy28</dc:creator>
      <dc:date>2019-12-16T04:27:34Z</dc:date>
    </item>
    <item>
      <title>Re: Random draw out of a household</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Random-draw-out-of-a-household/m-p/611954#M18262</link>
      <description>&lt;P&gt;If your data are sorted by house_id, then you can:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Read and count consecutive person records in one household setting _N_PERS to the count.&lt;/LI&gt;
&lt;LI&gt;Generate a random integer _RAND_DRAW between 1&amp;nbsp;and _N_PERS&lt;/LI&gt;
&lt;LI&gt;Re-read the same household and output the record whose sequence matches _RAND_DRAW&lt;/LI&gt;
&lt;LI&gt;Do the same sequence for the next household&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 16 Dec 2019 05:35:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Random-draw-out-of-a-household/m-p/611954#M18262</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2019-12-16T05:35:31Z</dc:date>
    </item>
    <item>
      <title>Re: Random draw out of a household</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Random-draw-out-of-a-household/m-p/611957#M18264</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/52727"&gt;@lizzy28&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The code-implemetation of&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/31461"&gt;@mkeintz&lt;/a&gt;&amp;nbsp;is given below:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
   call streaminit(123);
   do count = 1 by 1 until(last.house_id);
      set household;
      by house_id;
   end;
   rnd = ceil(rand('UNIFORM') * count);
   do count = 1 by 1 until(last.house_id);
      set household;
      by house_id;
      if rnd = count then output; 
    end;
drop count rnd ;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 16 Dec 2019 05:49:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Random-draw-out-of-a-household/m-p/611957#M18264</guid>
      <dc:creator>KachiM</dc:creator>
      <dc:date>2019-12-16T05:49:45Z</dc:date>
    </item>
    <item>
      <title>Re: Random draw out of a household</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Random-draw-out-of-a-household/m-p/611976#M18268</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/52727"&gt;@lizzy28&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can also use PROC SURVEYSELECT as follows:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
	infile datalines dlm="09"x;
	input person_id	house_id Gender $ Category;
	datalines;
12345611	123456	F	1
12345612	123456	M	2
12345613	123456	M	2
23456711	234567	M	1
23456712	234567	F	3
45678911	456789	M	2
45678912	456789	F	2
65432111	654321	M	3
65432112	654321	F	1
;
run;

proc surveyselect data=have method=srs n=1 out=want (drop=selectionprob samplingweight) noprint;
	strata house_id;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;SPAN&gt;The STRATA statement names the stratification variables&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;HOUSE_ID. In the PROC &lt;/SPAN&gt;&lt;SPAN class="mbox"&gt;SURVEYSELECT statement&lt;/SPAN&gt;&lt;SPAN&gt;, the METHOD=SRS option specifies simple random sampling. The N=1 option specifies a sample size of 1 observation for each stratum.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 16 Dec 2019 08:59:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Random-draw-out-of-a-household/m-p/611976#M18268</guid>
      <dc:creator>ed_sas_member</dc:creator>
      <dc:date>2019-12-16T08:59:22Z</dc:date>
    </item>
    <item>
      <title>Re: Random draw out of a household</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Random-draw-out-of-a-household/m-p/622763#M19846</link>
      <description>Thank you!&lt;BR /&gt;&lt;BR /&gt;I tested the data. The only issue is that the outcome data turn out to have 'M' gender only. I believe it is related to how the data is sorted.</description>
      <pubDate>Thu, 06 Feb 2020 16:20:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Random-draw-out-of-a-household/m-p/622763#M19846</guid>
      <dc:creator>lizzy28</dc:creator>
      <dc:date>2020-02-06T16:20:00Z</dc:date>
    </item>
  </channel>
</rss>

