I am integrating different operations in one map_rect, and I am calculating a “generated quantity” that now it can’t be exported to the fit object.

When I try to retrieve more complex object from map_rect, doing something like this I get error

```
transformed parameters{
x = map_rect(function(){
vector[] v = ...;
lp = ditribution(.., ..)
return(append_row(lp, v))
}
my_variable = x[2:rows(x)]
}
model{
target += x[1];
}
```

wds15
May 24, 2019, 5:03pm
#2
`map_rect`

allows your function to return a column vector of arbitrary length, but not a row vector.

EDIT: Sorry… to quick… that’s what you do. So this should work; could you post the actual code and the error message?

I think I got where the mistake is. I was thinking `map_rect`

could output

`vector[arbitrary_columns] m[shards];`

But Actually just outputs (?)

`vector[arbitrary_columns] m;`

That if only lp is returned is

`vector[shards] m;`

Am I correct?

wds15
May 27, 2019, 8:11am
#4
No… `map_rect`

can return a ragged array. Say you have 5 shards defined and the number of rows returned per shard is `{1,2,1,5,1}`

… then you will get a vector of length 1+2+1+5+1 = 10.

Sebastian

EDIT: Ah, you edited… so I think you are correct and this is aligned with what I am telling you above, right?

Eheh sorry for the mess. Ok let me ask a simple question, can map_rect return an array or vectors?

(My understanding is no, it flats it out to a vector)

wds15
May 27, 2019, 8:50am
#6
No. `map_rect`

only allows the user function to return row-vectors which are concatenated together. So the final return is always a long row-vector.