Apologies if I've put this in the wrong place, I'm completely new here but this seemed like the best forum based on the introductory channels' description.
Basically I am working on a class assignment and trying to create two different subsets of my data: one with only renters included and one with only homeowner's included. My code that's not functioning is below, and I can supply more if needed:
data RentersData; set FullData2; delete if RENTGRS=0; run;
Basically I am trying to drop all observations from my data where gross rent payments (RENTGRS) are equal to 0 so that only renters are included. However, I keep getting an error message that says ERROR 79-322: Expecting a ;.
Adding a screenshot below of the error message just in case there's any important detail I may have ignored
I hope this is descriptive enough, I can provide additional info if necessary. Thank you
I believe you need to switch your "delete" & "if" statements around. See solution 1 below.
I have included solutions 2 &3 that achieve the same result using different methods as well.
I believe you need to switch your "delete" & "if" statements around. See solution 1 below.
I have included solutions 2 &3 that achieve the same result using different methods as well.
Thank you so much, Solution 1 worked perfectly. I appreciate the additional solution approaches as well because they look like a cleaner solution than what I was opting for, I think they will help me a lot in the future
The DELETE statement does not allow any other text. That is why SAS says you are missing a semicolon. Your text looks like it was meant to be two statements. A DELETE statement and subsetting IF statement.
delete;
if RENTGRS=0;
But that would delete every observation.
If you want to conditionally execute the DELETE statement then you can use an IF/THEN statement and code the DELETE statement as the statement to execute when the condition is true.
if RENTGRS=0 then delete;
If instead you want to use a subsetting IF statement you will need to reverse the logic of condition since now you want to specify the condition for when to NOT delete the observation.
if RENTGRS ne 0;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 16. Read more here about why you should contribute and what is in it for you!
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.