sas принимает случайный набор идентификаторов - PullRequest
1 голос
/ 07 февраля 2020

У меня есть набор данных в форме

id   value
1     8
1     9 
2     2  
2     7
2     4
.     . 
.     .
.     .
1000  8
1000  66

, где точки обозначают все идентификаторы от 2 до 1000. Как я могу взять случайный набор из 30 идентификаторов из вышеуказанного набора данных? То есть я хочу все значения для этих 30 идентификаторов. Может ли кто-нибудь помочь мне?

Ответы [ 2 ]

5 голосов
/ 07 февраля 2020
proc surveyselect data=have out=_want seed=123 noprint
   method=srs
   sampsize=30;
   id id;
run;

proc sql;
   create table want as 
   select h.id,h.value
   from have h
   inner join _want
   on h.id = _want.id;
quit;
1 голос
/ 07 февраля 2020

SAMPLINGUNIT

Выберите все obs для 2 возрастов из sashelp.class; REPS = 3 делает это 3 раза.

proc surveyselect sampsize=2 reps=3 data=sashelp.class out=agesamp seed=1234;
   samplingunit age;
   run;

enter image description here

...