BayesianTools icon indicating copy to clipboard operation
BayesianTools copied to clipboard

getSample(whichParameters) breaks getSample(parametersOnly = FALSE)

Open twest820 opened this issue 4 years ago • 1 comments

A user should be able to do something like getSample(parametersOnly = FALSE, whichParameters = 1) and get back a parameter array with their first MCMC parameter followed by the Lposterior, Llikelihood, and Lprior columns. However, it looks like these two lines

if (!is.null(whichParameters)) out = out[,whichParameters]

if (!is.null(whichParameters)) temp = temp[,whichParameters]

blindly slices Lposterior, Llikelihood, and Lprior off the output. Fix would just be not to do that.

Workaround is something like

as.data.frame(getSample()) %>% select(firstParameter, Lposterior, Llikelihood, Lprior)

which has the advantage of also avoiding the next issue I'm about to open.

twest820 avatar Jul 02 '21 15:07 twest820

Yep. I will leave this open for now because I don't think it's particularly critical and having looked at getSample I get the feeling we should have a more general look at the getSample structure, there is a lot of code that has accumulated around getSample that feels a bit clumsy, I think we should consider to re-model the entire implementation (behind the interface) instead of patching it up.

florianhartig avatar Jul 10 '21 07:07 florianhartig