I am running PROC Ttest withe following code:
PROC IMPORT DATAFILE=FILEREF
DBMS=XLSX
OUT=WORK.IMPORT;
GETNAMES=YES;
RUN;
data AllEvents;
set import;
RUN;
if Phase=1;
logVWC=log(VWC);
proc ttest cochran ci=equal umpu;
Class Phase;
Var logVWC;
run;
SAS gives me the following error message: ERROR: The CLASS variable does not have two levels.
In the Excel file that is imported in the first statement, Phase variables are 1 and 2, so it definitely has 2 and only 2 levels.
any insights would be appreciated
@AaronJ wrote:
I am running PROC Ttest withe following code:
PROC IMPORT DATAFILE=FILEREF
DBMS=XLSX
OUT=WORK.IMPORT;
GETNAMES=YES;
RUN;
data AllEvents;
set import;RUN;
if Phase=1;
logVWC=log(VWC);proc ttest cochran ci=equal umpu;
Class Phase;
Var logVWC;
run;
SAS gives me the following error message: ERROR: The CLASS variable does not have two levels.
In the Excel file that is imported in the first statement, Phase variables are 1 and 2, so it definitely has 2 and only 2 levels.
any insights would be appreciated
SAS doesn't care about the Excel file that is imported. SAS only cares about WORK.ALLEVENTS. What is in WORK.ALLEVENTS, how many levels does PHASE have in WORK.ALLEVENTS?
Well, I think I know the answer because in your code you have
if Phase=1;
which means that the variable PHASE in WORK.ALLEVENTS has only one level ... it only has PHASE=1
thanks, i think you and i caught that at the same time. I tried to delete this post, but SAS told me i didn't have sufficient privileges.
Again, thanks for pointing out the error.
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!
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.
Ready to level-up your skills? Choose your own adventure.