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 lock in 2025 pricing—just $495!
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.