/usr/lib/R/site-library/permute/TODO.md is in r-cran-permute 0.9-4-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | # 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*
|