Changelog
Source:NEWS.md
    variancePartition 1.39.4
- handle 
NAvalues forfitExtractVarPartModel() 
variancePartition 1.38.1
- Aug 11, 2025
 - Handle change in function prototype of 
limma::eBayes() - 
variancePartition::eBayes()now uses arguments... 
variancePartition 1.37.4
- Aug 4, 2025
 - Handle missing expression values like in 
limma::lmFit() 
variancePartition 1.36.3
- Jan 2, 2025
 - examine adding 
REDUCE = ctobpiterate() - fix issue 
mvTest()for test of single coefficient 
variancePartition 1.36.1
- Nov 5, 2024
 - Upgrade to Bioc 3.20
 - update generic for 
eBayes()to be comptabile withlegacyparameter added inlimmav3.62.0 
variancePartition 1.35.5
- June 17, 2024
 - fix bug in 
mvTest()forsevalue with 1 feature 
variancePartition 1.35.3
- June 11, 2024
 - in 
mvTest()withshrink.cov = TRUEuseslambda = 0.01 
variancePartition 1.35.2
- June 6, 2024
 - in 
mvTest()returnbetaandse 
variancePartition 1.33.15
- May 16, 2024
 - in 
voomWithDreamWeights(), default changed torescaleWeightsAfter = FALSE 
variancePartition 1.33.14
- April 19, 2024
 - in 
topTable()resolve issue when specifying multiple coeffs 
variancePartition 1.33.13
- April 6, 2024
 - in 
voomWithDreamWeights(), add argumentprior.count.for.weights 
variancePartition 1.33.12
- March 22, 2024
 - Fix use with 
voomWithDreamWeights()taking raw counts - https://github.com/GabrielHoffman/variancePartition/issues/97
 - in 
voomWithDreamWeights(), add argumentpriorWeightsAsCounts=FALSEandprior.count.for.weights 
variancePartition 1.33.11
- Feb 7, 2024
 - fix bug in 
dream(...,ddf="Kenward-Roger")that gave false positives and negatives- scaled weights properly to fix this issue, since 
dfinlmerTest::contest()assumes mean of weights is 1. - old code used unscaled weights, so df values were too large
 
 - scaled weights properly to fix this issue, since 
 
variancePartition 1.33.10
- Feb 5, 2024
 - in 
augmentPriorCount()andvoomWithDreamWeights(), add argumentscaledByLib=FALSE 
variancePartition 1.33.9
- Jan 25, 2024
 - bug fix in 
BIC()and.fitExtractVarPartModel() 
variancePartition 1.33.5
- Dec 21, 2023
 - fix issue with ddf always calling 
"Satterthwaite" - enforce subsetting of residuals in 
assign( "[.MArrayLM2",)- this comes with when 
rdf < 1 
 - this comes with when 
 
variancePartition 1.33.4
- Dec 13, 2023
 - fix bug with BiocParallel in Windows
 - handle case where a single contrasts fails in 
makeContrastsDream() 
variancePartition 1.33.3
- Dec 5, 2023
 - in 
residuals()when dividing bysqrt(1-hatvalues)add small offset to make sure the value is positive 
variancePartition 1.33.2
- Nov 13, 2023
 - add 
augmentPriorCount() - add 
prior.countargument tovoomWithDreamWeights()and feed it toaugmentPriorCount() 
variancePartition 1.31.22
- Oct 19, 2023
 - fix handling of variables with missing data
 - return 
fit$genesproperly 
variancePartition 1.31.21
- Oct 16, 2023
 - handle weights properly when the linear mixed model fails for some genes
 - 
lmFit()and - in 
iterRows()setscale = FALSEas default - in 
voomWithDreamWeights(), scale in input weights and weights in sidefitVarPartModel()- get weights estimated most similar to 
voomLmFit() 
 - get weights estimated most similar to 
 - in 
dream()userescaleWeights = FALSEto getsigmaestimates compatable withlmFit() 
variancePartition 1.31.20
- Sept 26, 2023
 - allow 
weightsto be a matrix invoomWithDreamWeights() 
variancePartition 1.31.19
- Sept 22, 2023
 - add 
rescaleWeightsAfterargument tovoomWithDreamWeights() 
variancePartition 1.31.18
- Sept 5, 2023
 - improved error handling for 
fitVarPartModel(),fitExtractVarPartModel(), andvoomWithDreamWeights() 
variancePartition 1.31.16
- August 18, 2023
 - in 
dream(), if"Kenward-Roger"is specified but gives covariance matrix that has poor condition number or is not positive definite, then fall back to"Satterthwaite"for hypothesis testing in linear mixed models - Update documentation, and reformat code
 
variancePartition 1.31.15
- August 10, 2023
 - 
fit = dream()now returnsfit$loglik(the log-likelihood for each gene), andfit$edf(the effective degreees of freedom for each gene) 
variancePartition 1.31.13
- August 7, 2023
 - fix bug in 
calcVarPart()where weights was ignored in some cases - add additional tests to check this
 
variancePartition 1.31.12
- July 3, 2023
 - 
makeContrastsDream()convertsNAcontraststoNULL 
variancePartition 1.31.11
- setting 
voomWithDreamWeights(..., span="auto")now estimates tuning parameter from data usingfANCOVA::loess.as() 
variancePartition 1.31.9
- Fix issue in 
mvTest()when specifying features with strings 
variancePartition 1.31.7
- update 
mvTest()to run in parallel 
variancePartition 1.31.6
- update 
mvTest()to include Hotelling T2 test andLS.empirical() 
variancePartition 2.0.5
- May 31, 2023
 - fix convergence issues
 - fix initialization of 
lmer()fit - use 1 OMP thread internally, then restore to original value
 
variancePartition 2.0.4
- May 30, 2023
 - When running 
dream(), ensure model convergence using second fitting withNelder_Meadto avoid edge cases where the approximate hessian fromlmerTest::as_lmerModLT()has a negative eigenvalue - fix issue in 
get_prediction()returning NA values when variables modeled as categorical and levels are omitted - fix issue in 
voomWithDreamWeights()when some genes don’t converge - retry 
lmer()model fit with another optimizer after it fails convergence test. 
variancePartition 2.0.3
- May 13, 2023
 - fix 
vcov() 
variancePartition 2.0.2
- May 17, 2023
 - add matrix argument to 
mvTest() 
variancePartition 2.0.1
- May 12, 2023
 - 
mvTest()now shrinks covariance using the Schafer-Strimmer method - 
vcovSqrt()returns the matrix whose cross product gives thevcov()result from fits withdream() 
variancePartition 2.0.0
- April 20, 2023
 - Major code refactoring to:
- improve code reuse
 - simplify debugging and maintaining code
 - simplify addition of new features
 - improve error handling
 - some linear mixed model analyses are 50% faster
 - enable additional features for 
dreamletpackage that depends heavily onvariancePartition. 
 
variancePartition 1.28.9
- March 14, 2023
 - fix rounding error in 
makeContrastsDream() - add Pearson residuals to 
residuals() 
variancePartition 1.28.8
- March 8, 2023
 - add 
mvTest()with features as list 
variancePartition 1.28.7
- March 7, 2023
 - Fix bug in 
makeContrastsDream()by addingdroplevels() 
variancePartition 1.28.6
- March 1, 2023
 - 
diffVar()now fits contrasts estimated in first step 
variancePartition 1.28.5
- Feb 24, 2023
 - Fix error in 
vcov()when samples are dropped due to covariate havingNAvalue 
variancePartition 1.28.2
- Jan 13, 2023
 - 
canCorPairs()now allows random effects in formula- but won’t change results
 
 
variancePartition 1.27.17
- in 
mvTest(), more consistent return values when one features is used 
variancePartition 1.27.14
- fix bug in 
topTable() - add 
deviance() - update docs
 - update 
sqrtMatrix()to have positive diagonal 
variancePartition 1.27.13
- add 
diffVar()test of differential variance - 
dream()now returnsformula,data, andhatvalues - define 
hatvalues()for result ofdream() 
variancePartition 1.27.12
- in 
mvTest():- default method is now 
"FE" 
 - default method is now 
 
variancePartition 1.27.11
- in 
mvTest():- return number of features
 - return stat.FE and stat.het for RE2C
 - return NA for stat if 1 feature
 
 
variancePartition 1.27.10
- Add check for very large weights in 
voomWithDreamWeights()- follows bug report: https://github.com/GabrielHoffman/variancePartition/issues/66
 
 - in 
mvTest()change option “LS” to “FE” 
variancePartition 1.27.8
- bug fix in 
mvTest() 
variancePartition 1.27.5
- update dependencies
 - make 
topTable()generic to work with R 4.2.1 and Bioc 3.16 
variancePartition 1.27.3
- update filtering of covariates, especially for when many samples are dropped
 
variancePartition 1.25.13
- Fix compatibility issue with lme4 1.1.29
 - reported https://github.com/GabrielHoffman/variancePartition/issues/51
 
variancePartition 1.25.12
- in 
makeContrastsDream(), fix issue where terms with colon cause and error 
variancePartition 1.25.11
- fix bug in 
dream()for variables with NA values - improve handling of invalid contrasts in 
makeContrastsDream() 
variancePartition 1.25.9
- for 
getContrast()andmakeContrastsDream()make sure formula argument is a formula and not a string 
variancePartition 1.25.7
- 
dream()now drops samples with missing data gracefully 
variancePartition 1.25.6
- fix small plotting bug in 
plotStratify()andplotStratifyBy() 
variancePartition 1.25.5
- add 
getTreat()to evaluatetreat()/topTreat()seamlessly on results ofdream() 
variancePartition 1.25.3
- add genes argument to 
plotPercentBars() 
variancePartition 1.25.2
- change 
plotPercentBars()to use generic S4 
variancePartition 1.25.1
- update handling of 
weightsinvoomWithDreamWeights()and addapplyQualityWeights() 
variancePartition 1.23.6
- update 
calcVarPart()with argumentscale=TRUEallowing the user to disable scaling to fractions 
variancePartition 1.23.4
- convert some warnings to errors
 - add proper handling of weights to 
voomWithDreamWeights() 
variancePartition 1.23.2
- add flag to checkModelStatus() so warnings are thrown immediately
 - fix export of as.data.frame
 - fixed issues where messages were printed even if quiet=TRUE
 
variancePartition 1.21.10
- add suppressWarnings flag to makeContrastsDream()
 - ensure that z.std is finite
 
variancePartition 1.21.8
- update dream vignette
 - update documentation for makeContrastsDream()
 - fix error in rdf_from_matrices() with eigen() failing
 
variancePartition 1.21.7
- Merge changes to contrast code: https://github.com/GabrielHoffman/variancePartition/pull/32
 - Merge improvments to error checking: https://github.com/GabrielHoffman/variancePartition/pull/28
 - New warning/error if variables in formula have missing data
 - add 
makeContrastsDream() 
variancePartition 1.21.4
- variance fractions for fixed effects model is now computed using new method
 - fixes subtle issue with previous version where estimates dependend on of terms in the formula
 - https://github.com/GabrielHoffman/variancePartition/issues/30
 - Update documentation
 
variancePartition 1.21.3
- Faster aggregration after running multiple threads
 - Pulled from https://github.com/GabrielHoffman/variancePartition/pull/27
 - by Ryan C. Thompson
 - eBayes() now works with dream for linear mixed models
 - add rdf.merMod
 
variancePartition 1.21.2
- Reduce size of data passed to each thread by only including variables used in the formula. Applies to multiple functions
 - add more unit tests
 
variancePartition 1.19.20
- fix bug discovered when the number of features is less than the number of chunks in iterBatch()
 
variancePartition 1.19.18
- simplify calcVarPart for lm and lmer. Add compatibility for glm
 - Simplify checkModelStatus.merMod to allow formula (A|B) where A is continuous
 - remove unused “adjust” arguments for clarity
 
variancePartition 1.19.17
- add get_prediction() for results of lm()
 - improve documentation of get_prediction()
 
variancePartition 1.19.16
- in canCorPairs() change statistic used to summarize CCA to Cramer’s V. The difference is very subtle, but is now based on first principles.
 - in dream, check that data is a data.frame
 - dream() defaults to computeResiduals=TRUE for compatability with zenith
 
variancePartition 1.19.13
- fix issues with residuals()
 - https://github.com/GabrielHoffman/variancePartition/issues/18
 - fix issue exporting eBayes, topTable, etc
 
variancePartition 1.19.12
- Improve documentation for contrasts in dream.Rmd
 - check that contrasts sum to zero in plotContrasts.
 
variancePartition 1.19.11
- in voomWithDreamWeights() fix issue with not defining design
 - https://github.com/GabrielHoffman/variancePartition/issues/17
 
variancePartition 1.19.10
- in voomWithDreamWeights() fix issue with returning design matrix
 - better error if counts can’t be converted to matrix
 - https://github.com/GabrielHoffman/variancePartition/issues/15
 
variancePartition 1.19.7
- Round numbers in plotContrasts()
 - fix issues with strings are passed to formula arguments
 
variancePartition 1.19.6
- New gives meaning full error message for dream(), etc when variable is not found in data.
 
variancePartition 1.19.5
- Better error catching when running fitVarPartModel() with fxn that fails
 - add get_prediction() function
 - the following code now can be run in parallel fitList = fitVarPartModel( Y, ~ (1|Batch), data, fxn = function(fit){ B = variancePartition::get_prediction(fit, ~(1|Batch)) fit@resp$y - B }, BPPARAM=SnowParam(3))
 
variancePartition 1.19.4
- Update vignette #3, and update documentation of REML argument
 
variancePartition 1.19.2
- canCorPairs() now returns NA correlation when two variables have no overlapping observed values
 - plotCorrMatrix() now handles NA correlation values
 
variancePartition 1.18.1
- Clean up some code and add documentation
 - compute effective degrees of freedom for each model
 
variancePartition 1.17.10
- fix issue returning residuals from limma
 - resolve issue where dream gives error: r[cbind(1L:p, 1L:p)] <- 1 : subscript out of bounds
 - only occured when no fixed effects were used
 
variancePartition 1.17.4
- Don’t print warnings for residuals() when only one argument passed.
 - fix bug with residuals evaluated with only fixed effects
 
variancePartition 1.17.3
- Allow sparseMatrix for gene expression. Now saves memory by avoiding conversion to matrix. Processing sparseMatrix will be slower, but memory usage will be low.
 - dream(…, computeResiduals=TRUE) now computes residuals and allows use of residuals() function
 
variancePartition 1.17.1
- topTable(…,sort.by=) now is correct when and F-test is used
 - fixed issue in classifyTestsF.MArrayLM2, now is much faster
 
variancePartition 1.15.8
- Replace cat() with message()
 - add quiet option to a few functions
 - dream() does not call eBayes() when lmFit is used
 
variancePartition 1.15.6
- fix convergence errror when recycling parameters values from first gene
 - add column z.std and F.std to topTable
 
variancePartition 1.13.8
- apply empirical Bayes when doing F-test
 - hypothesis testing for single coefficients is now included by default, so only need to specify contrast matrix if for more complicated contrasts
 - add voomWithDreamWeights() for computing observation weights using random effects
 - Add BiocParallel capability with BPPARAM argument
 - allows parallel processing with lower memory usage
 - dream() is now compatable with gene set enrichments from pinnacle (software comming soon)
 
variancePartition 1.13.7
- in dream(), add support for genes annotation in DGElist()
 - in dream(), automatically evaluate contrasts for all single coefficients
 - add future compatability for gene set enrichments method “pinnacle”
 
variancePartition 1.13.4
- export classes to fix bug with class “varPartResults” not being defined
 - Thanks Megan Behringer
 
variancePartition 1.13.2
- Enable random slope models in dream, but not for estimating variance fractions
 - Thanks Jonas Zierer
 
variancePartition 1.11.8
- Check and stop() if response variable has variance of 0
 - in dream(), fitExtractVarPartModel(), and fitVarPartModel()
 - add standardized_t_stat() implicitly in eBayes() using MArrayLM2 class
 - this transforms moderated t-statistics to have same degrees of freedom
 
variancePartition 1.11.7
- Simplify object return by dream to be more more similar to lmFit
 - now returns MArrayLM instead of MArrayLMM_lmer
 - if a fixed effects formula is specified (i.e. not random terms)
 - dream call lmFit in the backend
 - getContrast() works seamlessly
 - dream() now returns gene annotation if passed to function
 
variancePartition 1.11.6
- add error checing for L in dream
 - fix typoes in dream vignette
 - fix typoes in theory_practice_random_effects.Rnw
 
variancePartition 1.11.5
- Add dream function for differential expression for repeated measures with a linear mixed model
 
variancePartition 1.5.5
- Decrease computing time of effective sample size with ESS() by additional ~10x with sparse solver
 - fix margins for plotPercentBars()
 - Fix bug for getVarianceComponents() when correlated continous variables are included
 - compatibility with ggplot2 2.2.0
 - center plot titles
 - fix order of bars in plotPercentBars()
 - legend background to transparent
 - set text to be black
 - include lme4 in foreach .packages
 - change residuals color to not be transparent
 - add CITATION information
 - plotCorrMatrix now shows dendrogram by default
 - Estimate run time for fitExtractVarPartModel() / fitVarPartModel()
 - improve warnings for plotPercentBar()
 - improve warnings for plotCorrStructure()
 - define ylab for plotVarPart()
 - add as.matrix.varPartResults() (hidden)
 - define isVaryingCoefficientModel() (hidden)
 
variancePartition 1.3.11
- in canCorPairs() and other functions, convert formula with as.formula()
 - improve error messages for canCorPairs()
 
variancePartition 1.3.8
- Add additional examples to vignette
 - show projected memory usage of fitVarPartModel()
 
variancePartition 1.3.7
- fitVarPartModel warns if names in exprObj and data are not identical
 - residuals() and other functions deal with missing values properly
 
variancePartition 1.1.9
- Update sortCols to handle Measurement.error
 - change backend package structure
 - set Residuals to be grey by default in plotVarPart() and plotPercentBars()
 - add control = lme4::lmerControl(calc.derivs=FALSE, check.rankX=“stop.deficient” )
 - add plotCorrStructure
 
variancePartition 1.1.8
- Add ESS.R
 - Add fitVarTest.R
 - use lmerTest by default
 - fix bug checkModelStatus() for variables with backticks in name
 
variancePartition 1.1.6
- Move packages from Depends to Imports
 - For clarity, replace = with <- in parts of examples and vignette
 - Stop cluster in examples to solve error on Windows machines
 
variancePartition 1.1.1
- add plotPercentBars() to vizualize variance fractions for a subset of genes
 - add ESS() to compute effective sample size
 - fix x.labels argument in plotStratifyBy(). Previously, this argument was not used correctly
 
variancePartition 0.99.9
- add legend argument to plotStratifyBy()
 - improve warnings / errors for varying coefficient models
 - allow user to manually adjust cutoff for determining when design matrix is singular
- changed default cutoff to 0.999 from 0.99
 
 
variancePartition 0.99.8
- improve warnings / errors when design matrix is close to or exactly singular
 
variancePartition 0.99.7
- added new class varPartResults to store results of fitExtractVarPartModel() and extractVarPart()
- the user will not notice any change, only the backend is different o Allow computation of adjusted ICC in addition to ICC.
 
 - add warning when categorical variables are modeled as fixed effects
 - fix computation of variance fractions for varying coefficient models
 - add getVarianceComponents() to return variances from lmer() or lm() model fit
 - showWarnings=FALSE suppresses warning messages
 - add fxn argument to fitVarPartModel to evaluate any function on the model fit
 
variancePartition 0.99.2
- rename sort.varParFrac to sortCols
 - support ExpressionSet
 - change options for plotStratifyBy()
 
variancePartition 0.0.10
- fitExtractVarPartModel() and fitVarPartModel() now take subset argument
 - throw warning when no Intercept is specified
 - if using lmer, warning if categorical variable is modeled as fixed effect
 - fixed calcVarPart bug with reporting too few variances for multicategory fixed effects
 - add colinearityScore
 
variancePartition 0.0.9
- remove warning about unspecified weights, when useWeights=TRUE
 - fix issue with sort with only one variable
 - add main argument to plotVarPart
 
variancePartition 0.0.6
- set REML=FALSE to default. This fixes issues of inaccurate variance estiamtes, and makes lmer() results more concordant with lm() results
 - Fix residuals function when lm or lmer is used
 - fix useWeights argument error for fitExtractVarPartModel()