BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
_Hopper
Obsidian | Level 7

 

 
prproc mixed data = admp ;
class subjid treatnp avisit agegr1 ;
model chg = treatnp base avisit treatnp*avisit agegr1;
repeated avisit / subject= subjid type=UN;
lsmeans treatnp / cl diff e;
ods output diffs = mmrmchgdiff estimates = mmrmchgest;
run;

 

 

1. How can you tell if the procedure converged other than the warnings it sends to the log? 

2. Where can I find information on the variables and layout of the ODS table outputs generated by DIFFS, and ESTIMATES (or any ods table output from the procedure)?

3. Following (2) - I cannot recall if SE of the estimates and differences are generated automatically in those datasets. What options are required for an LS means analysis to do this?

1 ACCEPTED SOLUTION

Accepted Solutions
JackieJ_SAS
SAS Employee

Hi, For your first question, have a look at this example in the documentation:
SAS Help Center: Repeated Measures

The Iteration History section tells you whether the model converged:

JackieJ_SAS_0-1738264433418.png


For your second question- this page in the documentation describes ODS table names and their variables:
SAS Help Center: ODS Table Names

I see that there are ODS tables named Diffs and Estimates, as you have in your code. Another easy way to figure out tables names is run the statement ODS TRACE ON; prior to your PROC MIXED code. With this, table names will be written to the log. 

Your code looks ok. Is it providing output? 

View solution in original post

5 REPLIES 5
JackieJ_SAS
SAS Employee

Hi, For your first question, have a look at this example in the documentation:
SAS Help Center: Repeated Measures

The Iteration History section tells you whether the model converged:

JackieJ_SAS_0-1738264433418.png


For your second question- this page in the documentation describes ODS table names and their variables:
SAS Help Center: ODS Table Names

I see that there are ODS tables named Diffs and Estimates, as you have in your code. Another easy way to figure out tables names is run the statement ODS TRACE ON; prior to your PROC MIXED code. With this, table names will be written to the log. 

Your code looks ok. Is it providing output? 

_Hopper
Obsidian | Level 7
Only in the list window. No ods tables are generated.
JackieJ_SAS
SAS Employee

Hi, Could you provide us a copy of your log and output, so that we can review your code and any notes and errors?

Ksharp
Super User
1) Check Rick_SAS blog:
https://blogs.sas.com/content/iml/2019/04/03/g-matrix-is-not-positive-definite.html
2)Using the following code to check the ODS tables name (in LOG window):
ods trace on;
proc mixed ......
.......
run;
ods trace off;
3)Yes. If I was right. SE of the estimates and differences are generated automatically in OUTPUT.
StatsMan
SAS Super FREQ

You can find a pretty good read on the convergence status table here . This in the shared concepts and topics section of the SAS/STAT documentation. 

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

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
  • 5 replies
  • 1964 views
  • 8 likes
  • 4 in conversation