Hello everyone,
I am using a do loop to create a counter variable, count. However, the values that needs to be counted is not fully complete. How can I adjust the following code to include missing observations? I want to add a line that makes count=. if time=., and have no rows added if time=., but i couldn't get an if-then statement to work. Instead, the rows where time=. are removed from the dataset.
Thank you!
data dat2; set dat1; if time ge 0 then do count=1 to round(time, 1); output; end; run;
Try adding one more statement at the end of the DATA step:
else output;
Try adding one more statement at the end of the DATA step:
else output;
That worked! Thank you 🙂
data dat2;
set dat1;
if time=. then output;
else if time ge 0 then do
count=1 to round(time, 1);
output;
end;
run;
You could just make sure your upper bound is at least 1.
data dat2;
set dat1;
do count=1 to max(1,round(time, 1));
output;
end;
run;
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.