84 lines
3.3 KiB
Markdown
84 lines
3.3 KiB
Markdown
|
# TODO List
|
||
|
|
||
|
A TODO list for **permute** - or things I know are broken or needed.
|
||
|
|
||
|
* `summary.allPerms` - is not printing the permutation scheme.
|
||
|
*Done in 0.7-5*
|
||
|
|
||
|
* `print.permControl` - this needs to be updated to new API, and I don't
|
||
|
like the `*** Foo ***` headings I used before. *Done in 0.7-3*
|
||
|
|
||
|
* Need a way to update the permutation scheme, e.g. when a control
|
||
|
object already exists and want to tweak it. Example is in `?allPerms`
|
||
|
where I turn mirroring on via
|
||
|
|
||
|
ctrl$within$mirror <- TRUE
|
||
|
|
||
|
But how? Best idea currently is an `update.permControl` method. The
|
||
|
generic is in namespace `stats`. Or a `modify()` function, perhaps
|
||
|
coupled with specific replacement functions for certain components.
|
||
|
|
||
|
*DONE, in part, in 0.7-5* The matched call is now returned by `how()`
|
||
|
and this allows `update()` to do its work with no further effort from
|
||
|
me. What isn't so neat is that currently this means you need to type
|
||
|
out in full any specification of `within` and `plots` as these take
|
||
|
the results of function calls. Hence we have, from `./man/how.Rd`
|
||
|
|
||
|
plts <- gl(4,10)
|
||
|
blks <- gl(2,20)
|
||
|
h1 <- how(within = Within(type = "series", mirror = TRUE),
|
||
|
plots = Plots(strata = plts, type = "series"),
|
||
|
blocks = blks)
|
||
|
|
||
|
## The design can be updated...
|
||
|
## ... remove the blocking:
|
||
|
update(h1, blocks = NULL)
|
||
|
## ... or switch the type of shuffling at a level:
|
||
|
update(h1, plots = Plots(strata = plts, type = "none"))
|
||
|
|
||
|
Where in the second `update()` the entire `Plots()` call needs to
|
||
|
repeated to change just one part, the `type`.
|
||
|
|
||
|
This has been tweaked a bit. The second example can now be done via:
|
||
|
|
||
|
update(h1, plots = update(getPlots(h1), type = "none"))
|
||
|
|
||
|
Here `getPlots(h1)` returns the `plots` component, which too has
|
||
|
a `call` component and hence can be `update()`ed, hence the nested
|
||
|
calls to `update()`.
|
||
|
|
||
|
* `permControl` - deprecate this in favour of `how` as in "how to
|
||
|
permute"? *DONE Completed in 0.7-4*
|
||
|
|
||
|
* `permuplot` - this may be fundamentally bust - it only worked in the
|
||
|
original API and never got updated. Now the API is 2 versions further
|
||
|
on! It is also more complex than the original - not sure it'll be
|
||
|
easy without a lot of work to visualise all possible schemes.
|
||
|
|
||
|
* `check` insists on returning all permutations *without* the observed
|
||
|
one.
|
||
|
|
||
|
*DONE Completed somewhere, probably when I made observed only work via
|
||
|
how()*
|
||
|
|
||
|
* The following example from `shuffleSet()` gives same number of
|
||
|
permutations via `numPerms()` for both designs; should be fewer if
|
||
|
same permutation within each plot.
|
||
|
|
||
|
## 10 random permutations in presence of Plot-level strata
|
||
|
plotStrata <- Plots(strata = gl(4,5))
|
||
|
CTRL <- how(plots = plotStrata,
|
||
|
within = Within(type = "free"))
|
||
|
shuffleSet(20, 10, control = CTRL)
|
||
|
## as above but same random permutation within Plot-level strata
|
||
|
CTRL <- how(plots = plotStrata,
|
||
|
within = Within(type = "free", constant = TRUE))
|
||
|
shuffleSet(20, 10, CTRL)
|
||
|
|
||
|
*DONE in 0.8-0*
|
||
|
|
||
|
* Write an Rd page for the `"permutationMatrix"` S3 class where I can
|
||
|
describe the object returned by `shuffleSet()` and the methods
|
||
|
available for it.
|
||
|
|
||
|
*DONE in 0.7-8*
|