data RandClass(drop=i);
call streaminit(1234);
set sashelp.cars(keep= Cylinders Horsepower EngineSize);
array x {*} _numeric_;
do i = 1 to dim(x);
if rand("Bern", 0.1) then
x[i]=.; /* p=0.4 ==> about 40% missing */
end;
run;
Hello everyone, this is my code to delete values from columns randomly. It is working completely fine.
In the code 0.1 decides the percentage to delete. if i write there 0.2 it will delete 20% of the values and so on. I want to run a loop there that it will select values from 0.1 to 0.4 by 0.05. so total it should do 7 times. and I want to store all this 7 databases for future use. can anyone help me to do it ?
Here's one way. Another is to use a macro loop to generate the data you need.
data RandClass;
call streaminit(1234);
set sashelp.cars(keep= Cylinders Horsepower EngineSize obs=50);
array x {*} _numeric_;
do p=0.1 to 0.5 by 0.1;
do i = 1 to dim(x);
if rand("Bern", p) then
x[i]=.;
end;
output;
end;
run;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and save with the early bird rate—just $795!
Get started using SAS Studio to write, run and debug your SAS programs.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.