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

Hi all,

 

I am running my code below with VARCOMP and I am getting the error "Floating Point Zero Divide".

 

PROC VARCOMP DATA=stacked METHOD=reml; CLASS Subscale Item2;
BY ID ID_Day ID_Day_Point; MODEL Rating = Subscale Item2 ; RUN;

 

Any ideas about what can be done or what the problem might be?

1 ACCEPTED SOLUTION

Accepted Solutions
SteveDenham
Jade | Level 19

Well, I didn't go through all 300+ pages of data, but I did see a lot of what I referred to as "identicalness" in just the first subject.  There are levels of subscale and item2 which are identical once you drill down to the levels specified by your BY statement.  For instance, for the first subject, all values of RATING are 1, except for subscale n1, item 4.  Similar patterns are seen for the second data point for the first subject, where all values of RATING are 1 - no variability.  Given this, try METHOD=TYPE1 which should fit the terms sequentially, or loosen your restriction on the BY variables, so that some variability can be seen at the level you are examining.

 

SteveDenham

View solution in original post

10 REPLIES 10
PaigeMiller
Diamond | Level 26

Maybe this will help: https://communities.sas.com/t5/Statistical-Procedures/SAS-ERROR-Floating-Point-Zero-Divide/td-p/6468...

 

If that doesn't help, show us the full LOG of your PROC VARCOMP step, starting at PROC VARCOMP and continuing down to the last NOTE after the PROC, with nothing chopped out, in the order that it appears in the log.

--
Paige Miller
PaigeMiller
Diamond | Level 26

Repeating my earlier request:

 

Show us the full LOG of your PROC VARCOMP step, starting at PROC VARCOMP and continuing down to the last NOTE after the PROC, with nothing chopped out, in the order that it appears in the log.

--
Paige Miller
egebicaker
Calcite | Level 5

When I run VARCOMP to examine the variance of ratings due to different items for each participant in my dataset, I get the error "Floating Point Zero Divide". What can I do about that?

Rick_SAS
SAS Super FREQ

Not enough information for us to advise you. If it is a traceback (with the message, "Contact SAS technical support...") then send your program and data to Technical Support. If it is a NOTE, then post the log. But, unfortunately, situations like this often require being able to reproduce the problem, which usually requires the data.

egebicaker
Calcite | Level 5

Hi Rick,

 

Thanks a lot for your quick response. You may see my data attached. 

 

This is the code I am trying to run and get a Floating Point Zero Divide error.

 

ODS OUTPUT CLEAR; ODS LISTING CLOSE; ODS OUTPUT ESTIMATES=KEEPVC;

PROC VARCOMP DATA=stacked METHOD=reml; CLASS Subscale Item2;

BY ID ID_Day ID_Day_Point; MODEL Rating = Subscale Item2 ; RUN;

 

Thanks a lot for your help,

 

Best

Rick_SAS
SAS Super FREQ

I don't know what a .sav file is and I cannot open your file. Please provide data in a form that we can read into SAS. The DATA step is preferable.

egebicaker
Calcite | Level 5

Hi Rick,

 

Thanks again for your prompt response. I am sorry about that. Currently I am working on my Mac where I do not have the SAS. Would an excel file work?

 

Thanks again for your consideration,

 

Best,

 

Ege Bicaker

Rick_SAS
SAS Super FREQ

Maybe someone else will be able to help you. Best wishes and good luck.

SteveDenham
Jade | Level 19

Well, I didn't go through all 300+ pages of data, but I did see a lot of what I referred to as "identicalness" in just the first subject.  There are levels of subscale and item2 which are identical once you drill down to the levels specified by your BY statement.  For instance, for the first subject, all values of RATING are 1, except for subscale n1, item 4.  Similar patterns are seen for the second data point for the first subject, where all values of RATING are 1 - no variability.  Given this, try METHOD=TYPE1 which should fit the terms sequentially, or loosen your restriction on the BY variables, so that some variability can be seen at the level you are examining.

 

SteveDenham

SteveDenham
Jade | Level 19

One way to possibly identify the source of the group level without variability would be to look at a cross tab using PROC FREQ such as:

 

PROC FREQ DATA=stacked 
BY ID ID_Day ID_Day_Point;
TABLES Item2*Subscale*Rating;
 RUN;

If it appears that there is no systematic "missingness" or "identicalness" then you may want to consider a method for estimating the variance components that allows for negative values (any of the other methods - TYPE1, MIVQUE0 or ML) and see if the same error arises.

 

SteveDenham

 

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 10 replies
  • 1287 views
  • 3 likes
  • 4 in conversation