BookmarkSubscribeRSS Feed
Calcite | Level 5


to adjust an observed table of cell frequencies to a set of new margins I want to use the CALL IPF subroutine in IML. In the SAS-Manual this is shown for a 2-dimensional table.

I would like to do this several times for adjusting cell frequencies to e. g. 3 marginals.

In the first step I would run the call ipf routine to fit cell frequencies to margin1 and margin2. The estimated cell frequencies then become the new marginal marginnew. In a second step estimated cell frequencies can be fitted to marginnew and margin3.

My questions are:

Is this a possibility to get estimated cell frequencies for e. g. a 3-dimensional table?

What happens in the second step? The values of marginnew have numerical values instead of observations. Is this a problem?

Do you know another way to include three or more 1-dimensional margins directly in the call ipf routine?




I'm pretty sure that the IPF routine enables you to request whichever marginals you want.  You ought to be able to get all three marginals directly.

In the IPF doc there is an example of a three-way table for Education, Religion, and Self-esteem:

Although that example is for the MARG call, you can use it to experiment with the IPF call for three-way tables. Use the CONFIG parameter to specify the interactions, and make sure that the DIM parameter agrees with the way that the table is stored.

You might want to look at this Tech Support doc:

Calcite | Level 5

Thank you for your information!

I am going to try, if it works in my case.



Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.

If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website. 

Register now!

Multiple Linear Regression in SAS

Learn how to run multiple linear regression models with and without interactions, presented by SAS user Alex Chaplin.

Find more tutorials on the SAS Users YouTube channel.

From The DO Loop
Want more? Visit our blog for more articles like these.
Discussion stats
  • 2 replies
  • 2 in conversation