I am dealing with real time data from an indoor air monitor. When the monitor runs out of alcohol, the machine reads 0. I am interested in creating a subset of my data that only includes the "0" observations and the preceding 30 observations.
I think I may be able to do this with some form of an IF/THEN statement before OUTPUT, but I am unsure. Maybe something like this?
DATA library.air_30;
SET library.air;
IF concentration=0 then OUTPUT *previous 30 observations* library.air_30;
RUN;
Can anyone offer some help with this? Thanks in advance.
Maybe reverse the order of your data and then it becomes a bit easier to look forward rather than backwards?
@taylormblack wrote:
I am dealing with real time data from an indoor air monitor. When the monitor runs out of alcohol, the machine reads 0. I am interested in creating a subset of my data that only includes the "0" observations and the preceding 30 observations.
I think I may be able to do this with some form of an IF/THEN statement before OUTPUT, but I am unsure. Maybe something like this?
DATA library.air_30; SET library.air; IF concentration=0 then OUTPUT *previous 30 observations* library.air_30; RUN;
Can anyone offer some help with this? Thanks in advance.
It should be relatively straightforward, such as:
data want;
set have;
by concentration notsorted;
if concentration=0 and first.concentration;
do recnum = max(1, _n_ - 30) to _n_;
set have point=recnum;
output;
end;
run;
However, what happens in real life when the alcohol runs out? (I know, the party's over, and everyone goes home.) Could you have several observations in a row that have concentration=0? Would you be retrieving some observations over and over again?
******************** EDITED in light of new information.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.