/usr/lib/R/site-library/permute/ChangeLog 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 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 | permute ChangeLog
Version 0.9-1
* setAllperms<-.how() was stripping the "allPerms" class. (#16)
Reported by: @brendanf
* nobs: added a `nobs.character` method (#17)
* get-methods: added a `getControl()` extractor with a default
method and a method for class `"check"`. There is an alias in
the form of `getHow()` (#18)
* shuffle: now accepts objects from which we derive the number
of observations, bringing is into line with `shuffleSet()`
Version 0.9-0
* Release to CRAN 23 Jan 2016
Version 0.8-5
* shuffleSet gains new argument `quietly = FALSE`, which is
passed on to `check()` to allow control over printing of
statements during checking.
Reported by: (and fixed by) Jari Oksanen
* allPerms would return a vector instead of a matrix when a
single permutation was generated.
Reported by: (and fixed by) Jari Oksanen
* Better defaults for `check()` heuristics allow for more
reliable (i.e. fewer duplicate permutations) permutations when
the set of permutations is small.
Provided by: Jari Oksanen
* allStrata did not handle cases where strata were not in
contiguous blocks:
e.g. `c(1, 2, 3, 1, 2, 3)` vs `c(1, 1, 2, 2, 3, 3)`
Reported by: David Warton
* Permutation matrices returned by `shuffleSet()` now print the
permutations more compactfully.
* as.matrix.allPerms: new S3 method for class `allPerms`.
* Code coverage: permute now has a test suite that covers
~87% of the current code base.
Version 0.8-4
* Update testthat unit testing to recommended usage.
Reported by: Hadley Wickham
* Example using vegan data is now made conditional upon that
package being available.
Reported by: Jari Oksanen
Fix suggested by: Uwe Ligges
* blocks new in-devel extractor and replacement function `blocks`.
These are not currently exported so use at your own risk...
* permute-deprecate.Rd was missing an \alias{}
Reported by: Kurt Hornik (CRAN)
Version 0.8-3
* allPerms: with free permutations *within* plots, `allPerms()`
was not returning the indices in the original data but in the
permutation indices within plots.
Reported by: Joris Meys
Version 0.8-2
* allPerms: with free permutations *within* blocks, `allPerms()`
was not returning the indices in the original data but in the
permutation indices within block.
In addition, `allPerms()` was not replicating each row in a
within-block permutation matrix for all the rows in the other
block within-block permutation matrices. This is now achieved via
a new, non-exported utility function `cbindAllPerms()`.
Reported by: Joris Meys
Version 0.8-1
* setBlocks: get block name before doing anything so that you
really get only name instead of its evaluated value.
Version 0.8-0
* Released to CRAN
* DESCRIPTION: now uses `Authors@R` to populate `Author` and
`Maintainer` fields. Finer grained recognition of contributors and
R Core Team's copyright.
* NEWS: added a `NEWS.Rd` file to document high-level changes to
permute. Detailed changes remain in `ChangeLog`, whilst `NEWS.Rd`
will summarise the main user-level changes to the package.
* allPerms: fix a bug where the blocks of permutations were being
recombined in the wrong way, by rows instead of by columns.
* numPerms: was ignoring the `constant` setting if free permutations
within level of plots.
Version 0.7-8
* how, Plots: enforces that `blocks` and `strata` are factors, or
can be coerced to a factor via `as.factor()`, if specified.
* check: gains a new argument `quietly = FALSE` to suppress messages
about updates to the permutation design when they are not needed.
* allPerms: no longer allows messages about generating set of
permutations to be generated by `check()`. It calls `check()` now
with `quietly = TRUE` to achieve this.
* shuffleSet: played about a bit with the way the design is printed
if you show the matrix of permutations.
Version 0.7-7
* shuffleSet: Implemented an idea of Jari's to allow `check()` and
`allPerms()` to do their thing and possibly generate the set of all
permutations, rather than turn off checking. If that now results in
more than `nset` permutations, `shuffleSet` randomly takes `nset` of
these. This is a nice suggestion as it avoids the problem that with
small numbers of possible permutations, you can randomly draw the
same permutation more than once.
As I have added this feature, I reverted some earlier changes to the
documentation that used the `check = FALSE` in their call to
`shuffleSet()`. The `check` argument is retained though, as a way for
function writers to skip that part of the permute workflow if desired.
The permutation matrix returned is now of class `"permutationMatrix"`.
This class has `as.matrix()` and `print()` S3 methods.
* allPerms: gains an argument `check`, which defaults to `TRUE`. This
is used to turn off checking within `allPerms` if desired. A use-case
for this is in `check()`, which might end up caling `allPerms()` to
generate the set of all permutations. In that case `allPerms()` used
to recheck the design. Now this doesn't happen.
`allPerms` also uses the new `set<-` replacement functions rather than
`update()` as the latter causes problems when used within functions as
it often evaluates the stored call in the wrong environment.
* check: following the change to `allPerms` (see above), `check()` no
longer results in it calling itself, via `allPerms()`, when generating
the set of possible permutations if the check heuristics indicate it
should be.
Turned on some `message()`s when the user asks for too many permutations
(more than the set of possible permutations) and when the set of
possible permutations is smaller than the `minperm` value stored in the
`"how"` object. The latter notifies the user that the entire set of
permutations is being generated. These messages were updated to reduce
their length.
`check` also uses the new `set<-` replacement functions rather than
`update()` as the latter causes problems when used within functions as
it often evaluates the stored call in the wrong environment.
* Plots, Within: now return a object of class `"Plots"` or `"Within"`,
respectively.
* get-methods: added a number of a new methods for existing functions
to work with `"Within"` and `"Plots"` classes.
* set-methods: added a number of a new functions and methods with the
common name `setFoo<-.Bar` where `Foo` is the component to be updated,
and `Bar` is the class. These are replacement functions only. They are
intended to be used within functions, where the user-friendly `update()`
will have problems getting the call updated correctly ot evaluating it.
* how, Plots, Within: Now work much harder to preserve details of the
design (i.e. the names of objects passed for the blocks or plot strata),
and also process the matched call so that the user can `update()` it.
* fixupCall: a new, unexported function that allows the call objects
stored in a `"how"` object to be updated. This is not exported as it is
intended only for internal use. Function writers should use the
`setFoo<-` functions instead. Ordinary users should use `update()` as
long as it is not in a function.
* update: new methods for objects of classes `"how"` and `"Plots".
Thes are copies of the standard R function `update.default` with some
changes. The source files for these two functions preserver the R
copyright statement and document modifications made by Gavin L.
Simpson.
* Depends: permute requires a version of R no earlier than version
2.14.0.
Version 0.7-6
* summary.allPerms: Was printing two slightly different subtitles.
* More unit tests...
Version 0.7-5
* how: the matched call is now returned permitting the use of
`update()` to update elements of a stored permutation design object.
Suggested by Jari Oksanen.
`how` also gains an argument `make` which is the user-level way
to control whether all possible permutations are actually
created should the heuristics in `check()` decide they should be.
The `print` method for class "how" wasn't printing details of
mirroring or constant settings for within-plot components.
* shuffleSet: was incorrectly recombining individual block-level
permutations.
Reported by Jari Oksanen.
Gains an argument, `check`, which allows the user to control whether
the permutation design should be checked. In small data sets or where
there are very few permutations, `shuffleSet` could generate more
permutations (i.e. all possible ones) than requested. Turning off this
checking with `check = FALSE` will result in exactly `nset`
permutations being returned, but without a gaurantee that they will
be unique.
* numPerms: fixed a bug where `numPerms()` was ignoring Blocks when
computing the number of possible permutations.
* Within, Plots: as with `how()`, the matched call is now returned
as part of the list object, allowing desirable `update()` behaviour.
* allPerms, doAllPerms: now correctly work in presence of blocks,
and where there are no plots.
`allPerms` now includes the permutation design (its `control`
argument) as an attribute, `"control"`, on the returned matrix of
permutations.
`allPerms` loses arguments `max` and `observed` as these are
supposed to be in the control object created by `how()`.
`summary.allPerms` (its `print` method, more correctly) now prints
the permutation design alongside the set of permutations.
* get-methods: new extractor functions `getObserved()` and
`getMake()` return the `observed` and `make` components of object
created by `how()`.
* getComplete: This now only returns the `complete` component of
the `"how"` object. Use `getMinperm()` to extract the component
no-longer returned by `getComplete()`.
* check: function loses arguments `make.all` and `observed` as
these are in the control object returned by `how()`.
The logic of some of the checks has been tweaked slightly.
* Documentation fixes in examples of `allPerms` and `check`.
* permuplot: This is horribly broken and I'm not sure if it will
ever return. In the meantime, this function now prints a warning
message if used and returns nothing, invisibly.
The function is no longer exported from the package namespace, and
not documented.
I'm not convinced that the plot can adequately convery the breadth of
designs now possible. Hence I am minded to deprecate this in 0.8-0
when released to CRAN and to make it defunct some thereafter.
Version 0.7-4
* Deprecated functions: Completed the deprecation of `permCheck()`
and `permControl()`. These functions will be made defunct following
the release of version 0.8-0, with a view to complete removal from
version 0.9-0 onwards.
Version 0.7-3
* Tweak to 0.7-2 API changes: argument `blocks` no longer takes
a list from helper function `Blocks()`. It is easier and simpler
if this just takes a factor. In essence, `blocks` in synonymous
with `strata` from `vegan::permuted.index` and the new change will
allow for an easier transition.
* get-methods: New extractor functions `getMirror()`, and
`getConstant()` which retrieve the mirroring and constant elements
of a permutation design.
Also added `getRow()`, `getCol()` and `getDim()`, which extract
the row and column dimensions of a grid permutation design, or
both.
In addition, new methods `getNperm()` and `getMaxperm()` return
the number of permutations requested and the maximum nuber that
should be allowed, respectively. New method `getComplete` extracts
details of the complete enumeration features of permute.
* numPerms: updated to work with the new API and now handles
blocking. Exmaples now pass checks again.
* allPerms: updated to the new API.
* check: updated to the new API.
* how: new function, a copy of `permControl()` and will eventually
replace that function. Has a new `print` method.
Begun process of *deprecating* `permControl()` and its `print`
method.
* permControl, how: the `strata.name` component of the returned
object is no called `blocks.name`.
* Plots: now returns the object name supplied as argument `strata`
as component `plots.name`.
* TODO: started a TODO list of things I know are broken or needed.
Version 0.7-2
* Major API change: Added capability to handle true blocking
constraints.
Suggested by Cajo ter Braak.
We now have:
o Blocks: samples are *never* permuted between blocks. Blocks
can't be permuted either.
o Plots: these define groups of samples, for example the
whole plots in a split-plot design, or repeated measures
on a set of sites. The sites are the "plots". Plots can
be permuted using any of the restricted schemes offered
in permute.
o Within: these are the samples, the rows in the data set.
They can be nested in Plots and/or in Blocks.
This capability has made it into permControl(), shuffle() and
shuffleSet(), though the latter certainly has one major bug
in the case where there is more than one Block.
Most other functionality is broken as the above change has
altered the permControl object in a way that is not backwards
compatible.
Note that the 0.7.x branch is a development branch and should
not be used in ernest until I work through all the implications
of this change. Rest assured, I won't be doing this again!
Version 0.7-1
* allPerms: implement Doug Bates version which simplifies and
speeds up the code. A fast RcppEigen-based version also exists
but will need larger changes to the package to implement.
Version 0.7-0
* Vignette: silly typo is example code illustrating shuffle().
New section on `shuffleSet()`.
The Vignette is now in `vignettes` not `inst/doc`.
* check.Rd: undo the hack needed to pass checks prior to
vegan 2.0 being on CRAN.
* Suggests: now needs vegan >= 2.0-0
* shuffleGrid: was doing random flipping of permutations even
if `mirror = FALSE` for the `constant = TRUE` case.
* shuffleStrata: assumed that the samples were in contiguous
blocks.
Reported by Cajo ter Braak.
* .Internal: removed all instances of .Internal calls in the
code.
* Package is now byte-compiled.
Version 0.6-1 (released to CRAN on September 7, 2011)
* NAMESPACE: export(permuplot)
* check.Rd: temporarily supress some of the examples to run
only on vegan >= 2.0-0. Needed during transition to pass
checks on CRAN until version 2.0-0 is released.
Version 0.6-0 (closed September 7, 2011)
* allPerms: added warning regarding current need for samples
to be arranged in order of any strata.
* Release: Pushed to CRAN. First beta release.
Version 0.5-4 (opened August 31, 2011)
* permCheck: deprecate `permCheck()` in favour of `check()`.
* allPerms: code clean-up
* preparing for first release to CRAN.
Version 0.5-3 (closed August 31, 2011)
* shuffleSet: now handles all permutation types that are
available in shuffle().
* nobs.Rd: fixed an example which created a numeric vector of
zeros instead of changing sampled vector to numeric. The example
yielded an error in R 2.14.0 (under development) where only one
argument was accepted for numeric() and two or more args cause an
error. The two isTRUE() cases should be true only exceptionally,
and may call for a fix.
* NAMESPACE, nobs-methods.R: The package relied on import(stats,
nobs), but that works only in R 2.13 and failed in R 2.12.2. Now
we define and export nobs() generic in permute package for older
R. The help file still gives a warning for missing documentation
of nobs in R 2.12.2 and prior, but there is no obvious fix to
this.
Version 0.5-2 (closed August 23, 2011)
* shuffelSet: new function to generate a set of `n`
permutations without the overhead of `n` repeated calls to
`shuffle()`. Currently only for designs without
strata/blocks.
Version 0.5-1 (closed July 5, 2011)
* shuffle: now returns seq_len(n) for no permutation within
blocks or of blocks.
* tests: testing using the `testthat` package. Initial
infrasctructure.
Version 0.5-0 (closed June 28, 2011)
* shuffle: renamed permuted.index() to shuffle()
* Vignette: the package has a vignette, which is very much
a work-in-progress.
Version 0.0-3 (closed June 17, 2011)
* NAMESPACE: permute gets a NAMESPACE. Needed to shield
functions form ones of similar name in vegan.
Version 0.0-2 (closed December 09, 2010)
* allPerms: Large update. allPerms now works for all
permutation designs *except* when permuting both blocks
and within blocks. This exception is handled with
.NotYetImplemented().
* numPerms: Wasn't returning the correct number of
permutations when WITHIN == "none" and BLOCK != "none",
i.e. permuting strata.
* Utils: Utility functions defined inline within allPerms
moved to new proper functions and renamed; allFree, allSeries
allGrid, allStrata.
Version 0.0-1 (closed February 28, 2010)
* SVN: Uploaded code to r-forge within vegan source tree.
This code base represents my working version as of today,
*not* the version in vegan at that time.
|