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

Hi, I want translate matlab code in sas.

Below the matlab code:

Y=loginv (P,mu,sigma)

where P is Probability vector.

I try whit proc iml.

Y= quantile('LOGNORMAL',b,&mu.,&sigma.)

but the resul is a singol number, I want a vector.

What do I do?

1 ACCEPTED SOLUTION

Accepted Solutions
IanWakeling
Barite | Level 11

Are you sure that your matrix b is a vector?  I tried the following and it seems to work for me.

proc iml;

  p=do(0.50,0.95,0.05)`;

  Y=quantile('LOGNORMAL',p,0,1);

  print p Y;

quit;

this gives the following output:

      0.5         1
     0.55 1.1338981
      0.6 1.2883304
     0.65 1.4700854
      0.7 1.6894457
     0.75 1.9630311
      0.8 2.3201254
     0.85 2.8191443
      0.9 3.6022245
     0.95 5.1802516

View solution in original post

2 REPLIES 2
IanWakeling
Barite | Level 11

Are you sure that your matrix b is a vector?  I tried the following and it seems to work for me.

proc iml;

  p=do(0.50,0.95,0.05)`;

  Y=quantile('LOGNORMAL',p,0,1);

  print p Y;

quit;

this gives the following output:

      0.5         1
     0.55 1.1338981
      0.6 1.2883304
     0.65 1.4700854
      0.7 1.6894457
     0.75 1.9630311
      0.8 2.3201254
     0.85 2.8191443
      0.9 3.6022245
     0.95 5.1802516

nannà
Calcite | Level 5

You are right.

There was an error in matrix b.

there wasn't a vector.

Thank you.

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

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