How to select the observations randomly from a SAS dataset
Answers were Sorted based on User's Feedback
Answer / srinath
Proc surveyselect;
this gives the random selection of observations.
| Is This Answer Correct ? | 23 Yes | 1 No |
Answer / learner
By using ranuni function. for example you want select 30
percent of data randamly from a data set.
data x;
set y;
if ranuni(100)<.3 ;
run;
here 100 is the seed. the number generated depends on this
seed .
| Is This Answer Correct ? | 11 Yes | 1 No |
Answer / srikanth
you can use the RANUNI function to select observations
randomly.
Ex:-
data test;
input number @@;
cards;
2.1 3.1 4 6 2.2 4.9 4 5 3 3.3 4 5 3 4.3 5 7 3 3 9 11
;
data test1;
set test;
random=ranuni(1);
run;
%let k=10;
PROC SORT DATA=TEST1;
BY random;/*SORT OBSERVATIONS*/
run;
DATA TEST2;
SET TEST2 (DROP=RANDOM);
IF _N_ LE &K;
RUN;
PROC PRINT ;
RUN;
| Is This Answer Correct ? | 8 Yes | 6 No |
Answer / chowdary vamsi
using rununni function generate random sample observations
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / name is no need
I think by using mod operator we can select the random
observations.
syntax:mod(_n_,number);
| Is This Answer Correct ? | 5 Yes | 6 No |
what is incremental update ? is this possible in SAS OLAP CUBE STUDIO.
I have a SCD Type 2 Dimention for Location In which A Sales Office in Having two Surrogate Keys just because of the change in it's Sales Group. SKey SalesGroup Sales Office BeginDate EndDate 280 SG1 SO1 01APR2000 01APR2010 281 SG2 SO1 02APR2010 31MAR2999 Now while loading the Fact, the Lookup ir returning SKey 280 for records before and after 01APR2010. I am not able to give WHERE condition in the Lookup Properties (TranDate between BeginDate and EndDate). Please help.
Explain proc univariate?
how will you location sas platform applications available from web browser? : Sas-bi
data data1; input dt account; format dt date9.; cards; 1745 1230 1756 1120 1788 1130 1767 1240 ; data data2; input startdt enddt total; format startdt date9. enddt date9.; cards; 1657 1834 12300 1557 1758 16800 1789 1789 12300 1788 1345 12383 1899 1899 13250 ; proc sql; create table data3 as select * from data1 as x left join data2 as y on x.dt>=y.startdt and x.dt<=y.enddt; quit; Here, we are getting cartision product. But,I want left join report consisting of this program. It should not get duplicate values. you can modify the program also.
Can anyone help me about SAS Realtime scenarios in Clinical field
what is the difference between floor and ceil functions in sas? : Sas-administrator
What does proc print, and proc contents are used for?
What would be the result of the following SAS function (given that 31 Dec, 2000 is Sunday)?
What do you know about symput and symget?
How to get top scorer student from a class-table having different sections A,B, C & D? Each section having same number of students.
what is the usage for assigning error=1 in a dataset ?