Solved
New Contributor
Posts: 2

# Nested do loop

I have the following code:

proc iml;

use prepped;

hstar = j(200000,1,.);

do i = 1 to 2;

do j = 1 to 6;

hstar[100000*(i-1)+j] = hhat;

end;

end;

quit;

hstar[100000*(i-1)+j] = hhat;

gives the following error:

ERROR: (execution) Matrices do not conform to the operation.

operation : [ at line 124 column 9

operands: HSTAR, _TEM1003, HHAT

HSTAR 200000 rows    1 col       (numeric)

_TEM1003 1 row          1 col       (numeric)

HHAT 200000 rows       1 col       (numeric)

statement: ASSIGN at line 124 column 4

Can anybody help with this?

Thanks.

Accepted Solutions
Solution
‎05-06-2012 05:25 AM
SAS Super FREQ
Posts: 4,237

## Re: Nested do loop

For each value of i and j,  hstar[100000*(i-1)+j] is a scalarl value.

However, hhat is a vector with 200,000 rows. You can't assign a vector to a scalar.

If you describe what you're trying to achieve, someone could help further.

All Replies
Solution
‎05-06-2012 05:25 AM
SAS Super FREQ
Posts: 4,237

## Re: Nested do loop

For each value of i and j,  hstar[100000*(i-1)+j] is a scalarl value.

However, hhat is a vector with 200,000 rows. You can't assign a vector to a scalar.

If you describe what you're trying to achieve, someone could help further.

New Contributor
Posts: 2

## Re: Nested do loop

Thanks!

What I needed to do was

hstar[100000*(i-1)+j] = hhat[100000*(i-1)+j];

🔒 This topic is solved and locked.