Help using Base SAS procedures

PROC Discriminant Error

Reply
Contributor
Posts: 32

PROC Discriminant Error

I am running the PROC Discrim function to do the classification, however I am getting the below error while testing the results.

Does anyone know what does this mean? I had doublecheckd and ensured that there are more than two classes available in the dependant variable.

ERROR: At least 2 complete classes are required in DATA= data set or

BY group.

Here are the steps I am following.

Step 1

~~~~~

Proc discrim data = test_data outstat=test_result METHOD=NORMAL POOL = no CROSSVALIDATE;

class trend;

var var1 var2 var3 var4 ; PRIORS PROPORTIONAL; RUN;

 

Step 2 - Here I need to test me previous results in data set

~~~~~~

 

Proc discrim data = test_result TESTDATA=universe_data TESTOUT = UNIVPRED;

class trend;

var var1 var2 var3 var4 ; PRIORS PROPORTIONAL; RUN;

 

Error : At least 2 complete classes are required in DATA= data set or

BY group.

 

I tested keeping the trend blank and keping some dummy names used in the test data, but same error message.

 

 

 

 

 

Respected Advisor
Posts: 4,606

Re: PROC Discriminant Error

[ Edited ]

Seems like your TESTDATA= dataset must contain observations from at least two of your classes. I don't know why.

 

proc discrim data=sashelp.iris outstat=irisstat
             method=normal pool=no;
   class Species;
   var SepalLength SepalWidth PetalLength PetalWidth;
   priors proportional;
run;

proc discrim data=irisstat testdata=sashelp.iris testout=testout;
where species = "Setosa";
class species;
run;

 

PG
Ask a Question
Discussion stats
  • 1 reply
  • 201 views
  • 0 likes
  • 2 in conversation