Rob, I was wondering if you or someone else might now how to adapt removeBurnin to the new Chains object? Here is what I have so far:
function removeBurnin(chainArray::Array{<:Chains,1},Nadapt)
Nchains = length(chainArray)
ch = chainArray[1]
v = ch.value
dims = (size(v,1)-Nadapt,size(v,2),Nchains)
value = Array{Union{Missing,Real}}(undef,dims...)
rng = (Nadapt+1):size(v,1)
for (i,c) in enumerate(chainArray)
value[:,:,i] = c.value[rng,:,:]
end
nch = Chains(value,ch.name_map.parameters)
return nch
end
Error Message:
ArgumentError: the length of each axis must match the corresponding size of data
AxisArray(::Array{Union{Missing, Float64},3}, ::Tuple{Axis{:iter,StepRange{Int64,Int64}},Axis{:var,Array{String,1}},Axis{:chain,Array{Symbol,1}}}) at core.jl:222
AxisArray(::Array{Union{Missing, Float64},3}, ::Axis{:iter,StepRange{Int64,Int64}}, ::Vararg{Union{Axis, AbstractArray{T,1} where T},N} where N) at core.jl:215
#Chains#12(::Int64, ::Int64, ::Float64, ::NamedTuple{(),Tuple{}}, ::Type, ::Array{Union{Missing, Float64},3}, ::Array{String,1}, ::Dict{Symbol,Array{Any,1}}) at chains.jl:93
Type at chains.jl:28 [inlined]
Chains(::Array{Union{Missing, Float64},3}, ::Array{String,1}) at chains.jl:28
top-level scope at none:0