Pythran is an ahead of time compiler for a subset of the Python language, with
a focus on scientific computing. It takes a Python module annotated with a few
interface descriptions and turns it into a native Python module with the same
interface, but (hopefully) faster.
Upstream changes:
1.999825 2021-09-28
* Make Math::BigInt accept integers regardless of whether they are written as
decimal, binary, octal, or hexadecimal integers or decimal, binary, octal, or
hexadecimal floating point number.
* When numeric constants are overloaded (with the ":constant" option) in
Math::BigInt, every numeric constant that represent an integer is converted
to an object regardless of how it is written. All finite non-integers are
converted to a NaN.
* When numeric constants are overloaded (with the ":constant" option) in
Math::BigFloat, every numeric constant is converted to an object regardless
of how it is written.
* Add method from_dec() (cf. from_bin(), from_oct(), and from_hex()). It is
like new() except that it does not accept anything but a string representing a
finite decimal number.
1.999824 2021-09-20
* Don't allow mixing math libraries. Use the first backend math library that is
successfully loaded, and ignore any further attempts at loading a different
backend library. This is a solution to the re-occurring problem of using
objects using different math libraries.
* Add missing documentation.
* Miscellaneous minor improvements.
1.999823 2021-07-12
* Improve the handling of the backend libraries. Provide more useful warnings
and error messages. Update the documentation.
1.999822 2021-07-09
* Make the from_hex(), from_oct(), and from_bin() methods consistent with
CORE::oct(), which does not require a leading "0" before the letter ("x",
"o", or "b").
* Make the from_oct() and new() methods accept octal numbers with prefix
"0o", "0O", "o" (lowercase letter o), and "O" (capital letter O).
* Make the from_bin() and new() methods accept binary numbers with
prefix "0b", "0B", "b", and "B".
* Make the from_hex() and new() methods accept hexadecimal numbers with
prefix "0x", "0X", "x", and "X".
* Update test files to match with the above.
1.999821 2021-07-06
* Make new() and from_hex() accept the "0X" prefix, not just the "0x" prefix,
but not accept just "X" or "x". Now, "0XFF" returns 255, not NaN.
* Make new() and from_bin() accept the "0B" prefix, not just the "0b" prefix, but
not accept just "B" or "b". Now, "0B1111" returns 255, not NaN.
* Make new() and from_oct() accept the "0o" and "0O" prefixes, but not accept
just "O" (capital letter O) or "o" (lowercase letter o). Now, "0o377" and
"0O377" return 255, not NaN. Also intepret floating point numbers with a
leading zero and a binary exponent as an octal number, so that "01.4p0"
returns 1.5, not NaN. There is still no ambiguety, since decimal floating
point numbers use "e" or "E" before the exponent, and binary and hexadecimal
floating point numbers use a "0b"/"0B" or "0x"/"0x" prefix, respectively.
1.999820 2021-07-06
* Fix bug and improve error messages in Math::BigInt::import().
1.999819 2021-07-02
* Add method btfac() (triple factorial) and bmfac() (multi-factorial),
including tests and documentation.
* Add missing and correct erroneous documentation for bfac() (factorial)
and bdfac() (double factorial). Also correct handling of special cases
and add tests for these cases.
* Fix error in bsin() and bcos() causing them to hang indefinitely if the
invocand is +/-inf.
* Make it possible for the end user to specify the base length used internally
in Math::BigInt::Calc.
FFTW 3.3.10:
* Fix bug that would cause 2-way SIMD (notably SSE2 in double precision)
to attempt unaligned accesses in certain obscure cases, causing
segfaults.
The following test triggers the bug (SSE2, double precision):
./tests/bench -oexhaustive r4*2:5:3
This test computes a pair of length-4 real->complex transforms where
the second input is 5 real numbers away from the first input. That
is, there is a gap of one real number between the first and second
input array. The -oexhaustive level allow FFTW to attempt to
compute this transform by reducing it to a pair of complex
transforms of length 2, but now the second input is not aligned to a
complex-number boundary. The fact that 5 is odd is the problem.
The bug cannot occur in complex->complex transforms because the
complex interface accepts strides in units of complex numbers, so
strides are aligned by construction.
This bug has been around at least since fftw-3.1.2 (July 2006), and
probably since fftw-3.0 (2003).
A tool to provide an easy, intuitive and consistent access to
information contained in various R models, like model formulas, model
terms, information about random effects, data that was used to fit the
model or data from response variables. 'insight' mainly revolves
around two types of functions: Functions that find (the names of)
information, starting with 'find_', and functions that get the
underlying data, starting with 'get_'. The package has a consistent
syntax and works with many different model objects, where otherwise
functions to access these information are missing.
29 February 2020:
* Replaced deprecated functions from testhat framework in unit tests (contributed by Avraham Adler).
26 February 2020:
* Fixed warnings (as requested by CRAN): R CMD config variables 'CPP' and 'CXXCPP' are deprecated.
20 October 2018:
* Exposed CCSAQ algorithm in R interface (contributed by Julien Chiquet).
03 October 2018:
* Build process was changed to solve issues on several OS (many thanks to the CRAN maintainers).
4.1-1 CRAN
4.1 svyquantile() has been COMPLETELY REWRITTEN. The old version is available
as oldsvyquantile() (for David Eduardo Jorquera Petersen)
svycontrast()'s improvements for statistics with replicates are now also there with
svyby(), for domain comparisons (Robert Baskin)
svyttest() now gives an error message if the binary group variable isn't binary
(for StackOverflow 60930323)
confint.svyglm Wald-type intervals now correctly label the columns (eg 2.5%, 97.5%)
(for Molly Petersen)
svyolr() using linearisation had the wrong standard errors for intercepts
other than the first, if extracted using vcov (it was correct in summary() output)
svyglm() gave deffs that were too large by a factor of nrow(design). (Adrianne Bradford)
svycoxph() now warns if you try to use frailty or other penalised terms, because they
just come from calling coxph and I have no reason to believe they work correctly
in complex samples (for Claudia Rivera)
coef.svyglm() now has a complete= argument to match coef.default(). (for Thomas Leeper)
summary.svyglm() now gives NA p-values and a warning, rather than Inf standard errors,
when the residual df are zero or negative (for Dan Simpson and Lauren Kennedy)
In the multigroup case, svyranktest() now documents which elements of the 'htest'
object have which parts of the result, because it's a bit weird (for Justin Allen)
svycontrast() gets a new argument add=TRUE to keep the old coefficients as well
twophase() can now take strata= arguments that are character, not just factor
or numeric. (for Pam Shaw)
add reference to Chen & Lumley on tail probabilities for quadratic forms.
add reference to Breslow et al for calibrate()
add svyqqplot and svyqqmath for quantile-quantile plots
SE.svyby would grab confidence interval limits instead of SEs if vartype=c("ci","se").
svylogrank(method="small") was wrong (though method="score" and method="large" are ok),
because of problems in obtaining the at-risk matrix from coxph.detail. (for Zhiwen Yao)
added as.svrepdesign.svyimputationList and withReplicates.svyimputationList
(for Ángel Rodríguez Laso)
logLik.svyglm used to return the deviance and now divides it by -2
svybys() to make multiple tables by separate variables rather than a joint table
(for Hannah Evans)
added predictat= option to svypredmeans for Steven Johnston.
Fixed bug in postStratify.svyrep.design, was reweighting all reps the same (Steven Johnston)
Fix date for Thomas & Rao (1987) (Neil Diamond)
Add svygofchisq() for one-sample chisquared goodness of fit (for Natalie Gallagher)
confint.svyglm(method="Wald") now uses t distribution with design df by default.
(for Ehsan Karim)
confint.svyglm() checks for zero/negative degrees of freedom
confint.svyglm() checks for zero/negative degrees of freedom
mrb bootstrap now doesn't throw an error when there's a single PSU in a stratum
(Steve White)
oldsvyquantile() bug with producing replicate-weight confidence intervals for
multiple quantiles (Ben Schneider)
regTermTest(,method="LRT") didn't work if the survey design object and model were
defined in a function (for Keiran Shao)
svyglm() has clearer error message when the subset= argument contains NAs (for Pam Shaw)
and when the weights contain NAs (for Paige Johnson)
regTermTest was dropping the first term for coxph() models (Adam Elder)
svydesign() is much faster for very large datasets with character ids or strata.
svyglm() now works with na.action=na.exclude (for Terry Therneau)
extractAIC.svylm does the design-based AIC for the two-parameter Gaussian model, so
estimating the variance parameter as well as the regression parameters.
(for Benmei Liu and Barry Graubard)
svydesign(, pps=poisson_sampling()) for Poisson sampling, and ppscov() for
specifying PPS design with weighted or unweighted covariance of sampling indicators
(for Claudia Rivera Rodriguez)
4.0 Some (and eventually nearly all) functions now return influence functions when
called with a survey.design2 object and the influence=TRUE option. These allow
svyby() to estimate covariances between domains, which could previously only be
done for replicate-weight designs, and so allow svycontrast() to do domain contrasts
- svymean, svytotal, svyratio, svymle, svyglm, svykappa
Nonlinear least squares with svynls() now available
Document that predict.svyglm() doesn't use a rescaled residual mean square
to estimate standard errors, and so disagrees with some textbooks. (for Trent Buskirk)
3.38 When given a statistic including replicates, svycontrast() now transforms the replicates
and calculates the variance, rather than calculating the variance then using the
delta method. Allows geometric means to exactly match SAS/SUDAAN (for Robert Baskin)
vcov.svyrep.design to simplify computing variances from replicates (for William Pelham)
svykm() no longer throws an error with single-observation domains (for Guy Cafri)
Documentation for svyglm() specifies that it has always returned
model-robust standard errors. (for various people wanting to fit relative risk
regression models).
3.37 RODBC database connections are no longer supported.
Use the DBI-compatible 'odbc' package
set scale<-1 if it is still NULL after processing, inside svrepdesign()
[https://stats.stackexchange.com/questions/409463]
Added withPV for replicate-weight designs [for Tomasz Żółtak]
svyquantile for replicate-weight designs now uses a supplied alpha to get
confidence intervals and estimates SE by dividing confidence interval length
by twice abs(qnorm(alpha/2)). [For Klaus Ignacio Lehmann Melendez]
All the svyquantile methods now take account of design degrees of freedom and
use t distributions for confidence intervals. Specify df=Inf to get a Normal.
[For Klaus Ignacio Lehmann Melendez]
svyivreg() for 2-stage least-squares (requires the AER package)
warn when rho= is used with type="BRR" in svrepdesign [for Tomasz Żółtak]
Add "ACS" and "successive-difference" to type= in svrepdesign(),
for the American Community Survey weights
Add "JK2" to type= in svrepdesign
Warn when scale, rscales are supplied unnecessarily to svyrepdesign
More explanation of 'symbolically nested' in anova.svyglm
Link to blog post about design df with replicate weights.
Chase 'Encyclopedia of Design Theory' link again.
# tibble 3.1.4
## Features
- `as.data.frame.tbl_df()` strips inner column names (#837).
- `new_tibble()` allows omitting the `nrow` argument again (#781).
## Documentation
- Move `vignette("digits")`, `vignette("numbers")`, `?num` and `?char`
from the pillar package here (#913).
- Replace `iris` by `trees` (#943).
- Various documentation improvements.
- New `?tibble_options` help page (#912).
## Performance
- `x[i, j] <- one_row_value` avoids explicit recycling of the
right-hand side, the recycling happens implicitly in
`vctrs::vec_assign()` for performance (#922).
## Internal
- Vignettes are now tested with a snapshot test (#919).
- `new_tibble()` uses `vctrs::new_data_frame()` internally (#726,
@DavisVaughan).
- Adapt to pillar 1.6.2.
- Fix tests for compatibility with pillar 1.6.2.
# tibble 3.1.3
## Bug fixes
- `tbl[row, col] <- rhs` treats an all-`NA` logical vector as a
missing value both for existing data (#773) and for the right-hand
side value (#868). This means that a column initialized with `NA`
(of type `logical`) will change its type when a row is updated to a
value of a different type.
- `[[<-()` supports symbols (#893).
## Features
- `as_tibble_row()` supports arbitrary vectors (#797).
- `enframe()` and `deframe()` support arbitrary vectors (#730).
- `tibble()` and `tibble_row()` ignore all columns that evaluate to
`NULL`, not only those where a verbatim `NULL` is passed (#895,
#900).
- `new_tibble()` is now faster (#901, @mgirlich).
## Internal
- Establish compatibility with rlang > 0.4.11 (#908).
- Use `pillar::dim_desc()` (#859).
- Establish compatibility with testthat > 3.0.3 (#896, @lionel-).
- Bump required versions of ellipsis and vctrs to avoid warning during
package load.
(R CMD Rdconv -t txt math/R-robustbase/work/robustbase/inst/NEWS.Rd)
CHANGES in robustbase VERSION 0.93-8 (2021-06-01, svn r879):
NEW FEATURES:
* 'scaleTau2()' gets new optional 'iter = 1' and 'tol.iter'
arguments; mostly experimentally to see if or when iteration
makes sense.
* 'Qn(x, *)' gets new optional 'k = .' to indicate the
"quantile" i.e., order statistic to be computed (with
default as previously hard-coded).
Experimentally to try for cases where more than n/2
observations coincide (with the median), i.e., 'x[i] == x0
== median(x[])', and hence 'Qn(x)' and 'mad(x)' are zero.
* 'adjOutlyingness()' gets new option 'IQRtype = 7'.
Tweaks:
* For tests: *again* differences found in the non-sensical
'adjOutlyingness()' example (with large p/n, hence many
"random" values in the order of 1e15). Disable the test for
now (and record the result in *.Rout).
BUG FIXES:
* The 'test()' utility in 'tests/lmrob-ex12.R' no longer calls
'matrix(x, n,4)' where the length of x does not match '4n'.
Similar change in 'tests/mc-strict.R'
CHANGES in robustbase VERSION 0.93-7 (2021-01-03, svn r865):
NEW FEATURES:
* Use '\CRANpkg{.}' in most places, providing web links to the
respective CRAN package page.
* 'adjOutlyingness()' now gains optional parameters to be
passed to 'mc()'.
BUG FIXES:
* update the internal man page, so new 'checkRdContents()' is
happy.
* fix several '\url{.}''s that now are diagnosed as 'moved'.
* 'adjOutlyingness()' finally works with 'p.samp > p'.
* 'scaleTau2()' now works with 'Inf' and very large values,
and obeys new 'na.rm = FALSE' argument.
* add 'check.environment=FALSE' to some of the 'all.equal()'
calls (for 'R-devel', i.e., future R 4.1.x).
* 'wgt.himedian(numeric())' now returns 'NA' instead of
occasionally seg.faulting or inf.looping. Ditto for a case
when called from 'Qn()'.
CHANGES in robustbase VERSION 0.93-6 (2020-03-20, svn r854):
NEW FEATURES:
* 'splitFrame()' now treats 'character' columns also as
categorical (the same as 'factor's).
Tweaks:
* Small updates, also in checks for newer compiler settings,
e.g., 'FCLEN' macro; also F77_*() etc, in order to fix 'LTO'
issues.
* More careful or _less_ calling 'intpr()': correct "Rank" of
array (for gfortran/gcc 10, when '-fallow-argument-mismatch'
is not set).
2021-07-26 Tomoaki NISHIYAMA <tomoakin@staff.kanazawa-u.ac.jp>
* Change LICENCE to GPL-3
* import new config.guess and config.sub
* Drop an unused variable RS_PostgreSQL_closeManager_t
* Use seq_along() instead of seq(along=)
* -Wno-stringop-truncation for libpq compilation on windows
* Change Description for new version and license.
* fix type as pointed out by PR #109
* http to https transition for URLs
Version 2.5-2, 2021-08-20
* Support hdf5 filters via multi-filter interface (netcdf>=4.8.0)
* Windows: update binary packages to netcdf 4.7.4 with OpenDAP
* Generate type conversions with m4 macros
* Reduce CPU time for utcal.nc example to pass CRAN checks
pbkrtest v0.5.1 (Release date: 2021-03-09)
============================================
Changes
* Improved documentation
pbkrtest v0.5-0.0 (Release date: 2020-08-04)
============================================
Changes
* Satterthwaite approximation added via the SATmodcomp function.
* Checks for models being nested is not performed for parametric
bootstrap any longer. Reason is that the simr package use parametric
bootstrap for testing variance components being zero.
* doi added to DESCRIPTION file
pbkrtest v0.4-8.6 (Release date: 2020-02-20)
============================================
Bug fixes:
* documentation fixed ddf_Lb is now exported
* mclapply issue for windows fixed
* vcovAdj.lmerMod is exported to make emmeans work. Contact Russ Lenth
to make emmeans used generic function vcovAdj.
pbkrtest v0.4-8 (Release date: 2020-02-20)
==========================================
Bug fixes:
* Issue related to class() versus inherits() fixed.
Changes:
* NEWS file added
* NAMESPACE file is now generated automatically
Summarizes key information about statistical objects in tidy tibbles.
This makes it easy to report results, create plots and consistently
work with large numbers of models at once. Broom provides three verbs
that each provide different types of information about a model. tidy()
summarizes information about model components such as coefficients of
a regression. glance() reports information about an entire model, such
as goodness of fit measures like AIC and BIC. augment() adds
information about individual observations to a dataset, such as fitted
values or influence measures.
# tidyr 1.1.3
* tidyr verbs no longer have "default" methods for lazyeval fallbacks. This
means that you'll get clearer error messages (#1036).
* `uncount()` error for non-integer weights and gives a clearer error message
for negative weights (@mgirlich, #1069).
* You can once again unnest dates (#1021, #1089).
* `pivot_wider()` works with data.table and empty key variables (@mgirlich, #1066).
* `separate_rows()` works for factor columns (@mgirlich, #1058).
# tidyr 1.1.2
* `separate_rows()` returns to 1.1.0 behaviour for empty strings
(@rjpatm, #1014).
# tidyr 1.1.1
* New tidyr logo!
* stringi dependency has been removed; this was a substantial dependency that
make tidyr hard to compile in resource constrained environments
(@rjpat, #936).
* Replace Rcpp with cpp11. See <https://cpp11.r-lib.org/articles/motivations.html>
for reasons why.
# tidyr 1.1.0
## General features
* `pivot_longer()`, `hoist()`, `unnest_wider()`, and `unnest_longer()` gain
new `transform` arguments; these allow you to transform values "in flight".
They are partly needed because vctrs coercion rules have become stricter,
but they give you greater flexibility than was available previously (#921).
* Arguments that use tidy selection syntax are now clearly documented and
have been updated to use tidyselect 1.1.0 (#872).
## Pivoting improvements
* Both `pivot_wider()` and `pivot_longer()` are considerably more performant,
thanks largely to improvements in the underlying vctrs code
(#790, @DavisVaughan).
* `pivot_longer()` now supports `names_to = character()` which prevents the
name column from being created (#961).
```{r}
df <- tibble(id = 1:3, x_1 = 1:3, x_2 = 4:6)
df %>% pivot_longer(-id, names_to = character())
```
* `pivot_longer()` no longer creates a `.copy` variable in the presence of
duplicate column names. This makes it more consistent with the handling
of non-unique specs.
* `pivot_longer()` automatically disambiguates non-unique ouputs, which can
occur when the input variables include some additional component that you
don't care about and want to discard (#792, #793).
```{r}
df <- tibble(id = 1:3, x_1 = 1:3, x_2 = 4:6)
df %>% pivot_longer(-id, names_pattern = "(.)_.")
df %>% pivot_longer(-id, names_sep = "_", names_to = c("name", NA))
df %>% pivot_longer(-id, names_sep = "_", names_to = c(".value", NA))
```
* `pivot_wider()` gains a `names_sort` argument which allows you to sort
column names in order. The default, `FALSE`, orders columms by their
first appearance (#839). In a future version, I'll consider changing the
default to `TRUE`.
* `pivot_wider()` gains a `names_glue` argument that allows you to construct
output column names with a glue specification.
* `pivot_wider()` arguments `values_fn` and `values_fill` can now be single
values; you now only need to use a named list if you want to use different
values for different value columns (#739, #746). They also get improved
errors if they're not of the expected type.
## Rectangling
* `hoist()` now automatically names pluckers that are a single string (#837).
It error if you use duplicated column names (@mgirlich, #834), and now uses
`rlang::list2()` behind the scenes (which means that you can now use `!!!`
and `:=`) (#801).
* `unnest_longer()`, `unnest_wider()`, and `hoist()` do a better job
simplifying list-cols. They no longer add unneeded `unspecified()` when
the result is still a list (#806), and work when the list contains
non-vectors (#810, #848).
* `unnest_wider(names_sep = "")` now provides default names for unnamed inputs,
suppressing the many previous name repair messages (#742).
## Nesting
* `pack()` and `nest()` gains a `.names_sep` argument allows you to strip outer
names from inner names, in symmetrical way to how the same argument to
`unpack()` and `unnest()` combines inner and outer names (#795, #797).
* `unnest_wider()` and `unnest_longer()` can now unnest `list_of` columns. This
is important for unnesting columns created from `nest()` and with
`pivot_wider()`, which will create `list_of` columns if the id columns are
non-unique (#741).
## Bug fixes and minor improvements
* `chop()` now creates list-columns of class `vctrs::list_of()`. This helps
keep track of the type in case the chopped data frame is empty, allowing
`unchop()` to reconstitute a data frame with the correct number and types
of column even when there are no observations.
* `drop_na()` now preserves attributes of unclassed vectors (#905).
* `expand()`, `expand_grid()`, `crossing()`, and `nesting()` once again
evaluate their inputs iteratively, so you can refer to freshly created
columns, e.g. `crossing(x = seq(-2, 2), y = x)` (#820).
* `expand()`, `expand_grid()`, `crossing()`, and `nesting()` gain a
`.name_repair` giving you control over their name repair strategy
(@jeffreypullin, #798).
* `extract()` lets you use `NA` in `into`, as documented (#793).
* `extract()`, `separate()`, `hoist()`, `unnest_longer()`, and `unnest_wider()`
give a better error message if `col` is missing (#805).
* `pack()`'s first argument is now `.data` instead of `data` (#759).
* `pivot_longer()` now errors if `values_to` is not a length-1 character vector
(#949).
* `pivot_longer()` and `pivot_wider()` are now generic so implementations
can be provided for objects other than data frames (#800).
* `pivot_wider()` can now pivot data frame columns (#926)
* `unite(na.rm = TRUE)` now works for all types of variable, not just character
vectors (#765).
* `unnest_wider()` gives a better error message if you attempt to unnest
multiple columns (#740).
* `unnest_auto()` works when the input data contains a column called `col`
(#959).
version 0.9.8
- Fixed some issues on C-level causing problems with the
CLANG compiler. (Thanks to Brian Ripley for not only
reporting this, but also sending updated code with
fixes).
version 0.9.7
- Fixes in use of INTEGER() and VECTOR_ELT() after updates in R's C API.
this affected 'afind' and 'max_length' (internally). (Thanks to Luke
Tierny and Kurt Hornik for the notification).
- Fix in 'amatch' causing utf-8 characters to be ignored in some
cases (thanks to Joan Mime for reporting #78).
- Fix: segfault when 'afind' was called with many search patterns or many
texts to be searched.
- Fix: stringsimmatrix was not normalized correctly (Thanks to Tamas Ferenci
for reporting GH).
version 0.9.6.3
- Resubmit. Fixed an URL redirect that was detected by CRAN.
version 0.9.6.2
- Resubmit. Fixed url issues detected by CRAN, added doi to description
as per CRAN request.
version 0.9.6.1
- Bugfix: afind/grab/grabl returned wrong results on MacOS only.
(thanks to Prof. Brian Ripley for the notification and for running tests
on his personal machine and to Tomas Kalibera for making the
ubuntu-rchk docker image available).
version 0.9.6
- New function 'afind': find approximate matches in text based on string distance.
- New functions 'grab', 'grabl': fuzzy matching equivalent to 'grep' and 'grepl'.
- New function 'extract': fuzzy matching equivalent of stringr::str_extract.
- New algorithm 'running_cosine': fast fuzzy text search using cosine distance.
- New function 'stringsimmatrix' (Thanks to Johannes Gruber).
- Number of threads used is now reported when loading 'stringdist'.
- Internal fixes (in some cases class() == 'class' was used).
25 Aug 2020: Statmod 1.4.35
- Fix Bug in tweedie(link.power=0) so that the resulting functions
$linkinv() and $mu.eta() preserve the attributes of their
arguments.
16 Feb 2020: statmod 1.4.34
- Improve the model description provided in the remlscoregamma() help
page.
- tweedie() now checks whether `var.power` or `link.power` are
character strings instead of numeric. If `var.power` is one of the
standard family names ("gaussian", "poisson", "gamma" or
"inverse.gaussian") or `link.power` is one of the standard link
functions ("identity","log","inverse") then the argument is reset
to the corresponding numerical value with a message, otherwise an
informative error message is given.
- Cleaning up of internal code to avoid partial matching of function
arguments, attributes or list component names. The automatic package
tests are now run with the warnPartialMatchArgs,
warnPartialMatchAttr and warnPartialMatchDollar options all set to
TRUE.
4 Jan 2020: statmod 1.4.33
- The components returned by mixedModel2Fit() relating to fixed
coefficients are now documented explicitly. The help page has been
corrected to refer to the argument `only.varcomp` instead of
`fixed.estimates`. The vector of `reml.residuals` is no longer
part of the output.
- The test file has been slightly revised using zapsmall() so ensure
that the test output file remains correct for R with ATLAS BLAS.
# sandwich 3.0-1
* Extended the "Getting started" page with information on how to use _sandwich_ in
combination with the _modelsummary_ package (Arel-Bundock) based on _broom_
infrastructure (Robinson, Hayes, Couch). (Based on ideas from Grant McDermott.)
<https://sandwich.R-Forge.R-project.org/articles/sandwich.html>
* Catch `NA` observations in `cluster` and/or `order.by` indexes for `vcovCL()`,
`vcovBS()`, `vcovPL()`, and `vcovPC()`. Such missing observations cannot be
handled in the covariance extractor functions but need to be addressed prior
to fitting the model object, either by omitting these observations or by
imputing the missing values. (Raised by Alexander Fischer on StackOverflow
<https://stackoverflow.com/questions/64849935/clustered-standard-errors-and-missing-values>.)
* In `vcovHC()` if there are `estfun()` rows that are all zero and `type = "const"`,
then the working residuals for `lm` and `glm` objects are obtained via
`residuals()` rather than `estfun()`. (Prompted by an issue raised by
Alex Torgovitsky.)
# sandwich 3.0-0
* Release of version 3.0-0 accompanying the publication of the paper
"Various Versatile Variances: An Object-Oriented Implementation of
Clustered Covariances in R." together with Susanne Koell and Nathaniel Graham
in the _Journal of Statistcal Software_ at <https://doi.org/10.18637/jss.v095.i01>.
The paper is also provided as a vignette in the package as
`vignette("sandwich-CL", package = "sandwich")`.
* Improved or clarified notation in Equations 6, 9, 21, and 22 (based on
feedback from Bettina Gruen).
* The documentation of the HC1 bias correction for clustered covariances
in `vignette("sandwich-CL", package = "sandwich")` has been corrected (Equation 15).
While both the code in `vcovCL()` and the corresponding documentation `?vcovCL`
always correctly used (n-1)/(n-k), the vignette had incorrectly stated it as
n/(n-k). (Reported by Yves Croissant.)
* The package is also accompanied by a `pkgdown` website on R-Forge now:
<https://sandwich.R-Forge.R-project.org/>
This essentially uses the previous content of the package (documentation,
vignettes, NEWS) and just formatting was enhanced. But a few new features
were also added:
- A "Get started" vignette for the `pkgdown` page (but not shipped in the
package) providing an introduction to the package and listing all
variance-covariance functions provided with links to further details.
- R/Markdown overview vignettes for the `pkgdown` page (but also not shipped
in the package) linking the `Sweave`-based PDF vignettes so that they are
easily accessible online.
- A `README` with very brief overview for the `pkgdown` title page.
- A nice logo, kindly provided by Reto Stauffer.
* All kernel weights functions in `kweights()` are made symmetric around zero now
(suggested by Christoph Hanck). The quadratic spectral kernal is approximated
by `exp(-c * x^2)` rather than `1` for very small `x`.
* In case the `Formula` namespace is loaded, warnings are suppressed now for
processing formula specifications like `cluster = ~ id` in `expand.model.frame()`.
Otherwise warnings may occur with the `|` separator in multi-part formulas with
factors. (Reported by David Hugh-Jones.)
* The `bread()` method for `mlm` objects has been improved to also handle
_weighted_ `mlm` objects. (Suggested by James Pustejovsky.)
# rstudioapi 0.13
* Fixed an issue where `rstudioapi::insertText()` would fail. (#208)
# rstudioapi 0.12
* Fixed an issue where remote `rstudioapi` calls would erroneously use
a previous response in some cases.
* Allow `navigateToFile` to accept an empty file. This file will
default to the file currently in view in the active column.
* Added `registerChunkExecCallback` and `unregisterChunkExecCallback`,
used to execute a callback after a chunk is ran.
# NLopt Release Notes
## NLopt 2.6.2
15 April 2020
* Fixed forced stop exception with dimension elimination ([#317])
* Fixed `get_initial_step` wrapping ([#319])
* Various build fixes ([#314], [#308], [#303], [#278])
## NLopt 2.6.1
13 April 2019
* Fix `nlopt_version` result for 2.6.x and update soname.
## NLopt 2.6
12 April 2019
* New `nlopt_set_upper_bound` and `nlopt_set_lower_bound` functions in the low-level C API to set one bound at a time ([#257]).
* There is no longer a separate `libnlopt_cxx` library: C++ algorithms (STOGO and AGS) are compiled and included by default ([#198]).
* Various build fixes ([#197], [#216], [#245], [#250], [#230], [#261], etc.), other fixes ([#242], [#258]).
## NLopt 2.5
26 July 2018
* New AGS global solver ([#194]), thanks to Vladislav Sovrasov.
* New `nlopt_get_numevals` function providing a built-in evaluation counter ([#160]).
* New `nlopt_get_errmsg` function for more descriptive error messages.
* Build system is converted to `cmake` ([#49]), thanks to Julien Schueller
* Plugins updated for recent Octave and Guile versions.
* Various other build fixes and minor bug fixes.
(from: inst/NEWS)
CHANGES IN VERSION 0.11.1 (May 2021)
USER LEVEL CHANGES
-- Add information about categorical sampler and univariate version of ESS
sampler to `help(samplers)`.
BUG FIXES
-- Fix to the `posterior_predictive_branch` MCMC sampler, to update
the log-probabilities of the sampled posterior predictive nodes (PR #1127).
CHANGES IN VERSION 0.11.0 (April 2021)
USER LEVEL CHANGES
-- Add new `posterior_predictive_branch` MCMC sampler, which is
automatically assigned to trailing dependency node networks of entirely
non-data nodes (jointly posterior predictive branches). This sampler
simulates jointly from the predictive distribtion of these posterior
predictive node branches, and is designed to improve MCMC mixing of the
branch, and consequently of the entire model (PR #1086).
-- Allow use of elliptical slice sampler for univariate nodes, which can be
useful in multimodal problems (PR #1109).
-- Add a `getParents` method to the model API, allowing one to determine parent
nodes, analogous to use of `getDependencies` to determine child nodes
(PR #1094).
-- Add `getConditionallyIndependentSets` method (not yet documented) to the model
API, allowing one to determine nodes that are conditionally independent of
each other given parent nodes (PR #1094).
-- Improve efficiency of conjugate samplers by avoiding unneeded calculations
when a conjugate relationship does not involve shifting or scaling (PR #1087).
-- Allow use of `nimNumeric`, `nimMatrix`, `nimArray` in model code (PR #1096).
-- Add progress bar to `getSamplesDPmeasure` (NCT issue 110).
-- Allow model definition using `if` without `else`, fixing a longstanding
oversight (PR #1104).
-- Improve warning when multiple nodes provided to `getParam` (PR #1118).
-- Check during model building for unnamed elements of `data` and `inits`
(PR #1117).
-- Remove error trapping to prevent use of variables in defining node names,
such as `getDependencies('y[idx]')` as this is hard to check robustly and
efficiently (PR #1122).
-- Improve error messages when reporting `getParam` cannot calculate a parameter
when checking a model (PR #1112).
-- Error trap cases where model nodes are defined in two different declarations,
adding check for overlapping multivariate nodes (PR #1110).
-- Improve error trapping of mis-formed stochastic declarations in models
(PR #1106).
-- Increase maximum length of compiler output when using
`compileNimble(..., showCompilerOutput = TRUE)` (NCT issue 205).
-- Point to parallelization example on r-nimble.org in relevant places of manual.
BUG FIXES
-- Fix a bug (issue #1091) causing incorrect node names when having more than
100,000 elements in a vector node or in a dimension of a multi-dimensional
node (PR #1092).
-- Fix `getNodeNames` to return no nodes when `latentOnly` is `TRUE` and model
contains no latent nodes (PR #1116).
-- Fix checking for unknown nimbleFunction methods and improve related error
trapping (PRs #1107, #1105).
DEVELOPER LEVEL CHANGES
-- Update our testing code/infrastructure to use latest testthat API (PR #1090).
-- Shift internal code to use `model$calculate(...)` style rather than
`calculate(model, ...)` style for various node functions (PR #1114).
-- Clean up commented out code (PR #1098) and remove unused test files
(PR #1097).
-- Update to a newer (but not latest) version of Eigen to suppress some compiler
warnings (PR #1093).
CHANGES IN VERSION 0.10.1 (November 2020)
USER LEVEL CHANGES
-- Add `round` argument to `samplesSummary` (PR #1077).
-- `samplesSummary` function (and also `runMCMC(..., summary = TRUE)`) was made
to be robust against non-valid values in posterior samples array (PR #1075).
BUG FIXES
-- Fix `makeParamInfo` when there is only one declID involved to address a bug
affecting usage of `getParam`. This bug was introduced in version 0.10.0 when
reducing memory use of `getParam` (PR #1016). This fixes incorrect behavior
of conjugate samplers (because of incorrect inputs from `getParam`) under
certain model structures, in particular state-space style models (PR #1080).
-- Prevent usage of marginal version of WAIC (i.e., when not monitoring all
direct stochastic parents of data nodes); use of marginal version of WAIC in
previous versions gave incorrect results (PR #1083).
DEVELOPER LEVEL CHANGES
-- Deprecate `samplerAssignmnentRules` system (PR #1078).
-- Deprecate `autoBlock` MCMC option (PR #1079).
CHANGES IN VERSION 0.10.0 (October 2020)
USER LEVEL CHANGES
-- Greatly extend BNP functionality with the CRP (Chinese restaurant process)
distribution by allowing multiple observations to be grouped together (e.g.,
for longitudinal or time series data) without requiring they be specified
as a multivariate node (PR #1033).
-- Add a variety of conjugate cases to BNP conjugate samplers (PR #1033).
-- Greatly improve efficiency of model and MCMC building and configuration for
BNP-based models with CRP components (PR #1033).
-- Move all sequential Monte Carlo (SMC; aka particle filtering) methods to
new package `nimbleSMC`, including various particle-filter-based MCMC
samplers.
-- Prevent use of variables in indexes of nodes, such as `y[idx]`, which was
incorrectly being evaluated based on R scoping rules (PR #1064).
-- Allow use of `logdet` in model code (Issue #1018).
-- New `resetMV` argument available to `mcmc$run` method. In combination
with `reset = FALSE`, specifying `resetMV = TRUE` will continue the current
run of the MCMC, but discard any previously-collected samples
(PR #1051; thanks to 'DJRP').
-- New methods `setMonitors` and `setMonitors2` added for MCMC configuration
objects. These methods replace the current set of monitors (or monitors2)
with the specified variables (PR #1061).
-- Add `as.list` method for modelValues objects (PR #1060).
-- Update `getSamplesDPmeasure` function to improve efficiency and reduce
output size; output is now a list of matrices (PR #1059).
-- Add `dimensions` argument to `nimbleMCMC` (PR #1058).
-- Add method `getWidthHistory` to slice sampler to retrieve sampling history
information (PR #1057; thanks to 'rpatin').
-- Various improvements to the manual.
BUG FIXES
-- Fix a bug in k-fold cross-validation routine (`runCrossValidate`), where
the merging of MCMC sampler configurations was done incorrectly and causing
incorrect results (PR #1068).
-- Fix bug giving incorrect `dwish` density when using non-default S
parameterization (PR #1017).
-- Fix incorrect NaN eigenvalues in singular normalized adjacency matrices
under `dcar_normal` (PR #1019).
-- Update all MCMC sampler functions to use a new syntax for control list
element extraction, which prevents a possible bug caused by R's partial
matching of list names (PR #1065).
-- Define auto-generated simulation ('r') functions for user-defined
distributions in the global environment to avoid scoping issues (PR #1063).
-- Update user-defined distribution processing so user-defined distributions
can be defined inside functions (PR #1063).
-- Fix bug preventing use of `dirName` argument to `compileNimble` (PR #1062).
-- Fix a bug preventing model building when there are overly long names of
model variables resulting from long deterministic expressions in model code
(PR #1069).
-- Fix `buildMCEM` so it works with a compiled model as argument (PR #1028).
-- Fix `dmvt` so default unnamed parameters work (PR #1027).
-- Fix error in model building in corner case where
`makeVertexNamesFromIndexArray2` made a simplifying assumption to conclude
a block of nodes was contiguous (PR #1026).
-- Fix bug in `nimbleRcall` causing run-time warnings when `returnType` is void
(PR #1013).
DEVELOPER LEVEL CHANGES
-- Improve efficiency of `getParam` implementation, which improves speed for
MCMC compilation (PR #1016).
-- Improve MCMC sampling efficiency by not copying data nodes, only data node
logProbs, during sampler execution for various samplers (PR #1040).
-- Update Travis testing to use R 4.0.
-- Remove `GID_map` internal to modelValues (PR #1032).
-- Remove deprecated function `getLoadingNamespace` and (deprecated) use of
`where=getLoadingNamespace`. Also improve handling of environments set up
by `nimbleFunction` to make it easier to write packages depending on NIMBLE
(PRs #1029, 1011).
-- Force intermediates of index range expressions to be of type 'int' for use
in AD (PR #1024).
CHANGES IN VERSION 0.9.1 (May 2020)
USER LEVEL CHANGES
-- Switched from use of `system` to `system2` to avoid problems with installation
under R 4.0 on Windows (PR #1003).
-- Modify various adaptive MCMC samplers so the exponent controlling the scale
decay of the adaptation is adjustable by user (rather than hard-coded at 0.8
(PR #981).
-- Allow `pmin` and `pmax` to be used in models (PR #982).
-- Add documentation for `is.na`,`is.nan`,`any`,`all` (PR #988)
-- Add system option `MCMCuseConugacy` to control whether conjugate samplers are
used (PR #998).
-- Adds checks for `niter`, `nburnin` in the `mcmc$run` method (PR #980).
-- Modify print handling in `addSampler` and `configureMCMC` (PRs #986, 989).
-- Improve handling of NA values in `dCRP` to avoid error messages when building
models (PR #994).
-- Avoid monitoring top-level data nodes in models (PR #1006).
BUG FIXES
-- Modify MCMC `autoBlock` routine to only group Wishart, Inverse-Wishart, and
Dirichlet nodes with themselves, to avoid violating the constraints of those
nodes (PR #999).
-- Fix incorrect error message from `warnRHSonlyDynIdx` when variable appears
multiple times on right-hand side of a model expression (PR #997).
-- Fix `checkDistributionFunctions` to respect default `nDim=0` when extracting
first argument, to avoid error when dimension not specified in user-defined
distributions (PR #992).
-- Fix `print` option of `addSampler` (PR #986).
-- Improve handling of cases where indexing goes beyond extent of variable in
`expandNodeNames` and related queries of model structure (PR #977).
DEVELOPER LEVEL CHANGES
-- Use `inherits` rather than testing for equality of `class(object)` (PR #988).
Provides a high-level R interface to data files written using
Unidata's netCDF library (version 4 or earlier), which are binary data
files that are portable across platforms and include metadata
information in addition to the data sets. Using this package, netCDF
files (either version 4 or "classic" version 3) can be opened and data
sets read in easily. It is also easy to create new netCDF dimensions,
variables, and files, in either version 3 or 4 format, and manipulate
existing netCDF files. This package replaces the former ncdf package,
which only worked with netcdf version 3 files. For various reasons
the names of the functions have had to be changed from the names in
the ncdf package. The old ncdf package is still available at the URL
given below, if you need to have backward compatibility. It should be
possible to have both the ncdf and ncdf4 packages installed
simultaneously without a problem. However, the ncdf package does not
provide an interface for netcdf version 4 files.
2020-06-24: 2.0.1
R version requirement is reduced from 4.0.0 to 2.2.0
2020-06-24: 2.0.1
fixed a bug which effectively prevented using dmtruncnorm and dmtrunct with
an argument 'x' of vector type; various improvements in the documentation of
recintab and mom2cum.
2020-06-02: 2.0.0
support for the truncated versions of the multivariate normal and the t
distributions is introduced; for the truncated normal distribution,
functions recintab and mom2cum allow computation of corresponding moments
and cumulants; the latter function can also be used for obtaining the
cumulants of other distributions of which the moments are known.
2020-04-29: 1.5-7
improved R coding of sadmvn and sadmvt, with increased use of biv.nt.prob;
fixed a bug of pmnorm affecting a peculiar input set; a new function is
introduced: sample_Mardia_measures.
Importance sampling from the truncated multivariate normal using the
GHK (Geweke-Hajivassiliou-Keane) simulator. Unlike Gibbs sampling
which can get stuck in one truncation sub-region depending on initial
values, this package allows truncation based on disjoint regions that
are created by truncation of absolute values. The GHK algorithm uses
simple Cholesky transformation followed by recursive simulation of
univariate truncated normals hence there are also no convergence
issues. Importance sample is returned along with sampling weights,
based on which, one can calculate integrals over truncated regions for
multivariate normals.
HANGES IN VERSION 1.1-27.1:
USER-VISIBLE CHANGES:
* 'influence.merMod' allows user-specified starting parameters
* cleaned up performance vignette
BUG FIXES:
* 'cooks.distance' now works with objects computed by
'influence' method
* 'influence.merMod' now works with 'glmer' models using
'nAGQ=0'
* 'predict' (with new data) and 'simulate' methods now work
for models with >100 levels in a random effect grouping
variable (GH #631)
CHANGES IN VERSION 1.1-27 (2021-05-15):
USER-VISIBLE CHANGES:
* improvements from Lionel Henry (via
https://github.com/lme4/lme4/pull/587) to fix corner cases
in data checking; also resolves GH #601 (allFit scoping)
* 'getME(., "lower")' now has names (request of GH #609)
* improved detection of 'NaN' in internal calculations
(typically due to underflow/overflow or out-of-bounds linear
predictors from non-constraining link functions such as
identity-link Gamma models)
* 'influence.merMod' allows parallel computation
* the 'statmod' package is no longer required unless
attempting to simulate results from a model with an inverse
Gaussian response
BUG FIXES:
* long formulas work better in 'anova' headings (GH #611)
CHANGES IN VERSION 1.1-26 (2020-11-30):
BUG FIXES:
* 'predict', 'model.frame(.,fixed.only=TRUE)' work with
variable names containing spaces (GH #605)
* 'simulate' works when original response variable was logical
* 'densityplot' handles partly broken profiles more robustly
NEW FEATURES:
* 'thpr' method for 'densityplot()' (for plotting profiles
scaled as densities) gets new arguments
CHANGES IN VERSION 1.1-25 (2020-10-23):
* Set more tests to run only if environment variable
'LME4_TEST_LEVEL'>1
CHANGES IN VERSION 1.1-24 (never on CRAN):
USER-VISIBLE CHANGES:
* 'anova()' now returns a p-value of 'NA' if the df difference
between two models is 0 (implying they are equivalent
models) (GH#583, @MetaEntropy)
* speedup in 'coef()' for large models, by skipping
conditional variance calculation (Alexander Bauer)
* 'simulate.formula' machinery has changed slightly, for
compatibility with the 'ergm' package (Pavel Krivitsky)
* informational messages about (non-)convergence improved (GH
#599)
* improved error messages for 0 non-NA cases in data (GH #533)
NEW FEATURES:
* 'getME(.,"devfun")' now works for 'glmer' objects.
Additionally, 'profile'/'confint' for GLMMs no longer depend
on objects in the fitting environment remaining unchanged
(GH #589). This change also affects likelihood profiling
machinery; results of 'glmer' profiling/CIs may not match
results from previous versions exactly.
BUG FIXES:
* improved handling/documentation of 'glmer.nb' controls (GH
#556)
* 'predict' works better for 'gamm4' objects (GH #575)
* resolved some long-standing UBSAN issues (GH #561)
CHANGES IN VERSION 1.1-23 (2020-03-06):
This is primarily for CRAN compliance (previous submission was
retracted to allow time for downstream package adjustments).
* Some PROTECT/UNPROTECT fixes
CHANGES IN VERSION 1.1-22 (never on CRAN):
USER-VISIBLE CHANGES:
* prediction now works better for factors with many levels
(GH#467, solution by @sihoward)
* minor changes to argument order in '[g]lmerControl'; default
tolerance for convergence checks increased from 0.001 to
0.002 for 'glmerControl' (now consistent with 'lmerControl')
* 'lmer(*, family="<fam>")' is no longer valid; it had been
deprecated since 2013-06.
* 'lmer()', 'glmer()', and 'nlmer()' no longer have a formal
'...' argument. This defunctifies the use of a 'sparseX =
.' argument and will reveal some user errors, where
extraneous arguments were previously disregarded.
* In 'isSingular(x, tol)', the default tolerance ('tol') has
been increased from '1e-5' to '1e-4', the default of
'check.conv.singular' in 'g?lmerControl()'.
* for clarity and consistency with base R methods, some column
names of 'anova()' output are changed: "Df" becomes "npar",
"Chi Df" becomes "Df" (GH #528)
* 'simulate()' now works with inverse-Gaussian models (GH #284
revisited, @nahorp/Florian Hartig)
* single-model mode of 'anova()' now warns about unused
arguments in ... (e.g. 'type="III"')
* default tolerances for 'nloptwrap'/BOBYQA optimizer
tightened ('xtol_abs' and 'ftol_abs' were 1e-6, now 1e-8).
(To revert to former tolerances, use
'control=lmerControl(optimizer="nloptwrap",
optCtrl=list(xtol_abs=1e-6, ftol_abs=1e-6))'.)
BUG FIXES:
* improved checking for missing data (@lionel-)
* internal 'checkZrank()' should be able to deal with
('Matrix' package) 'rankMatrix()' returning 'NA'.
* 'allFit(fm)' now works for a model that had an explicit
'control = lmerControl(..)' call.
* internal 'getStart()' now works when model's 'start' was
specified as a list, and when called from 'drop1()' on a
submodel, fixing GH #521.
* internal function 'mkdevfun' now works even if there is an
extraneous 'getCall' function defined in the global
environment (GH #535)
* 'allFit()' works even if a variable with symbol 'i' is used
somewhere in the original model call (GH #538, reported by
Don Cohen); generally more robust
* 'glmer.nb' works even if an alternative version of
'negative.binomial' (other than the one from 'MASS') is
loaded in the workspace (e.g. by the 'GLMMadaptive' package)
(GH#516)
* 'level' argument is now honoured by 'confint(...,
type="boot", level=...)' (GH #543)
gtools 3.9.2 - 2021-06-03
-------------------------
Bug fixes:
- Fix missing man page and export for `combinations` and `permutations`.
Behind the scenes:
- Fixed more spelling/typographical errors, mostly in `NEWS.md`.
- Speed up `checkRversion` by removing checks for versions 2.x and 3.x.
gtools 3.9.1 - 2021-06-01
-------------------------
Bug fixes:
- Use valid HTTP request for example in `setTCPNoDelay` to prevent
errors when running tests.
Behind the scenes:
- Fixed numerous spelling/typographical errors.
- Update obsolete http URLs to https
gtools 3.9.0 - 2021-05-31
-------------------------
New functions:
- New `script_file` and `script_path` functions to obtain the
directory or full path to the currently executing script.
- New 'stat_mode` function to calculate the statistical mode (most
frequently occurring value).
- New `capwords` function to apply title capitalization rules to a
character vector.
- Move `baseOf` from `gplots` as requested by Steffen Möller. #2
New parameters:
- Add `scientific` parameter to `mixedsort` and `mixedorder` to
control whether numbers in scientific notation are recognized.
Resolved#7.
- Enhance `invalid` to detect `try-error` objects. #6
Bug fixes:
- Add support for R version 4 to `checkRVersion`. Resolved#5.
- Correct bug in `lastAdd` by explicitly checking for a `.Last` of
mode function.
Behind the scenes:
- Modernize package code by using `roxygen2` for documentation and
managing the NAMESPACE.
- Modernize C function registration.
- Replace http URLs with `https` and resolve broken links.
- Add github actions to automated testing
- Use pkgdown to generate HTML documentation.
- Use `styler` package to standardize R code formatting.
gtools 3.8.2 - 2020-03-23
-------------------------
Minor changes to support R 4.0