BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
abudyak
Calcite | Level 5

I keep getting this error "ERROR: One or more variables are missing or freq or weight is zero on every observation." and I am not sure why. 

 

data car;
input veh mpg @@;
cards;
1	26.5	1	23.5	1	26.5	1	23.5
2	24.5	2	22.5	2	26.0	2	25.0
3	27.5	3	27.5	3	32.5	3	33.5
4	30.5	4	28.5	4	30.0	4	28.5
5	20.5	5	21.5	5	25.0	5	25.0
6	26.5	6	23.5	6	26.0	6	27.0
7	29.0	7	27.5	7	30.0	7	35.0
8	26.5	8	27.0	8	28.5	8	32.0
;

proc glm;
class veh;
model mpg=veh/p;
means veh/hovtest=bartlett;
output out =car1 predicted =ypred residual=res;
run;
1 ACCEPTED SOLUTION

Accepted Solutions
novinosrin
Tourmaline | Level 20

By any chance, is there a possibility of TAB characters between values?

 

Can you try EXPANDTABS  option

data car;
infile cards expandtabs;
input veh mpg @@;
cards;
1	26.5	1	23.5	1	26.5	1	23.5
2	24.5	2	22.5	2	26.0	2	25.0
3	27.5	3	27.5	3	32.5	3	33.5
4	30.5	4	28.5	4	30.0	4	28.5
5	20.5	5	21.5	5	25.0	5	25.0
6	26.5	6	23.5	6	26.0	6	27.0
7	29.0	7	27.5	7	30.0	7	35.0
8	26.5	8	27.0	8	28.5	8	32.0
;

View solution in original post

3 REPLIES 3
novinosrin
Tourmaline | Level 20

Please post your full log. Your code worked fine when i tested

 



data car;
input veh mpg @@;
cards;
1	26.5	1	23.5	1	26.5	1	23.5
2	24.5	2	22.5	2	26.0	2	25.0
3	27.5	3	27.5	3	32.5	3	33.5
4	30.5	4	28.5	4	30.0	4	28.5
5	20.5	5	21.5	5	25.0	5	25.0
6	26.5	6	23.5	6	26.0	6	27.0
7	29.0	7	27.5	7	30.0	7	35.0
8	26.5	8	27.0	8	28.5	8	32.0
;

proc glm;
class veh;
model mpg=veh/p;
means veh/hovtest=bartlett;
output out =car1 predicted =ypred residual=res;
run;
quit;

proc print noobs;run;

results.PNG

abudyak
Calcite | Level 5

@novinosrin  I still get the same error even when I copy and pasted what you did.

I attached the full log.

 

 1          OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
 72         
 73         data car;
 74         input veh mpg @@;
 75         cards;
 
 NOTE: Invalid data for veh in line 76 1-27.
 NOTE: Invalid data for mpg in line 77 1-27.
 RULE:      ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0                     
 
 77  CHAR   2.24.5.2.22.5.2.26.0.2.25.0                                                     
     ZONE   30332303033230303323030332322222222222222222222222222222222222222222222222222222
     NUMR   2924E592922E592926E092925E000000000000000000000000000000000000000000000000000000
 NOTE: Invalid data errors for file CARDS occurred outside the printed range.
 NOTE: Increase available buffer lines with the INFILE n= option.
 veh=. mpg=. _ERROR_=1 _N_=1
 NOTE: Invalid data for veh in line 78 1-27.
 NOTE: Invalid data for mpg in line 79 1-27.
 
 79  CHAR   4.30.5.4.28.5.4.30.0.4.28.5                                                     
     ZONE   30332303033230303323030332322222222222222222222222222222222222222222222222222222
     NUMR   4930E594928E594930E094928E500000000000000000000000000000000000000000000000000000
 NOTE: Invalid data errors for file CARDS occurred outside the printed range.
 NOTE: Increase available buffer lines with the INFILE n= option.
 veh=. mpg=. _ERROR_=1 _N_=2
 NOTE: Invalid data for veh in line 80 1-27.
 NOTE: Invalid data for mpg in line 81 1-27.
 
 81  CHAR   6.26.5.6.23.5.6.26.0.6.27.0                                                     
     ZONE   30332303033230303323030332322222222222222222222222222222222222222222222222222222
     NUMR   6926E596923E596926E096927E000000000000000000000000000000000000000000000000000000
 NOTE: Invalid data errors for file CARDS occurred outside the printed range.
 NOTE: Increase available buffer lines with the INFILE n= option.
 veh=. mpg=. _ERROR_=1 _N_=3
 NOTE: Invalid data for veh in line 82 1-27.
 NOTE: Invalid data for mpg in line 83 1-27.
 
 83  CHAR   8.26.5.8.27.0.8.28.5.8.32.0                                                     
     ZONE   30332303033230303323030332322222222222222222222222222222222222222222222222222222
     NUMR   8926E598927E098928E598932E000000000000000000000000000000000000000000000000000000
 NOTE: Invalid data errors for file CARDS occurred outside the printed range.
 NOTE: Increase available buffer lines with the INFILE n= option.
 veh=. mpg=. _ERROR_=1 _N_=4
 NOTE: SAS went to a new line when INPUT statement reached past the end of a line.
 NOTE: The data set WORK.CAR has 4 observations and 2 variables.
 NOTE: DATA statement used (Total process time):
       real time           0.00 seconds
       cpu time            0.01 seconds
       
 
 84         ;
 85         
 86         proc glm;
 87         class veh;
 88         model mpg=veh/p;
 89         means veh/hovtest=bartlett;
 90         output out =car1 predicted =ypred residual=res;
 91         run;
 
 ERROR: One or more variables are missing or freq or weight is zero on every observation.
 92         quit;
 
 NOTE: The SAS System stopped processing this step because of errors.
 WARNING: The data set WORK.CAR1 may be incomplete.  When this step was stopped there were 4 observations and 4 variables.
 WARNING: Data set WORK.CAR1 was not replaced because this step was stopped.
 NOTE: PROCEDURE GLM used (Total process time):
       real time           0.02 seconds
       cpu time            0.01 seconds
       
 93         
 94         
 95         
 96         OPTIONS NONOTES NOSTIMER NOSOURCE NOSYNTAXCHECK;
 108  
novinosrin
Tourmaline | Level 20

By any chance, is there a possibility of TAB characters between values?

 

Can you try EXPANDTABS  option

data car;
infile cards expandtabs;
input veh mpg @@;
cards;
1	26.5	1	23.5	1	26.5	1	23.5
2	24.5	2	22.5	2	26.0	2	25.0
3	27.5	3	27.5	3	32.5	3	33.5
4	30.5	4	28.5	4	30.0	4	28.5
5	20.5	5	21.5	5	25.0	5	25.0
6	26.5	6	23.5	6	26.0	6	27.0
7	29.0	7	27.5	7	30.0	7	35.0
8	26.5	8	27.0	8	28.5	8	32.0
;

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 3 replies
  • 1660 views
  • 0 likes
  • 2 in conversation