I want to input in the data block in rstan an array of matrices (3 matrices 147x5, 281x5, 407x5). However, the matrices have different dimensions (in particular different length). How do I specify an array of matrices in data block of Rstan? Otherwise I get this error message because I do not specify the length well so reads the observations not available as missing.

Error in data_list2array(x) : all elements of the list should be numeric

I also get this error when Iâ€™m trying to write out data using stan_rdump because I have a reference to the top-level object. I got confused because I was also trying to write out an array of matrices, but that turned out not to be the problem.

If anybody else gets this error here is the code I use to resolve it:

stan_data_vars = names(stan_data)
for (parameter_name in stan_data_vars) {
assign(parameter_name, stan_data[[parameter_name]])
}
stan_rdump(stan_data_vars, file="c:/tmp/stan_data.data.R")