Closed comatrion closed 3 years ago
I can replicate.
Our code assumes that the runs are ordered by block (*), which to me makes sense, because the point of blocking is to indicate runs that are "together", usually by run order.
(*): assigning rownames works properly with any run ordering, but the zlist construction assumes block order.
Easiest way to handle this is in the documentation, to indicate the requirement for run ordering. Or, I suppose we could sort the runmatrix for the user before processing.
Great, thanks. I also wondered if it could error if the blocks are out of order, wherever that matters and is assumed.
I've added a pull request that should fix this by sorting the blocks before analyzing the power.
Thanks!
Reordering a blocked design that has been saved without row names results in a difference in power.
Here I generate a design, specifying to include a
Block1
column. I write it out to CSV (without row names), read in and evaluate.Next, I re-order the design, write to CSV (again without row names), read in and evaluate.
The evaluated power differs.
I was expecting the run order to not matter at all, as long as I kept the
Block1
data together with the conditions.output