All notable changes to this project will be documented in this file. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Add cautionary messages for
powerlyandvalidateto draw attention to picking sensible argument values for the method. Also, notifying the user if the validation procedure did not meet the set targets. - Add support for
parabarbackends with informative progress tracking. Closes #8. - Add
sampleargument tovalidatefacade to allow users to perform validation for specific sample sizes if needed.
- Move
S3methods to separate file for clarity.
- Update URLs to canonical
CRANformat.
- Add
\doi{}call topowerly-package.Rdocumentation. I know what you're thinking...
- Remove
\doi{}call frompowerly-package.Rdocumentation.
- Fix incorrect
DOIinpowerly-package.Rdocumentation.
- Add content for website publications page.
- Update copyright information in license files.
- Add published manuscript
DOIto the package logo. - Update citation, references, and documentation mentions to the published manuscript available at 10.1037/met0000555.
- Update
GitHubaction versions for all workflow files. Closes #37. - Add missing link to paper reference in documentation.
- Update
CITATIONfile to usebibentry. - Purged the evil from the website footer. Long overdue.
- Fix resulting empty
\link{}in.Rdfiles. - Disable cloning for
BackendTesterclass. - Make destructor for
Backendclass private in line withR6package recommendations (i.e., seeR6v2.6.0changes). - Replace URLs for CRAN checks badges. Closes #35.
- Fix
docsworkflow error after changing fromyarntopnpm. For the time being, migrated back toyarn. Closes #39.
- Remove invalid
HTMLsyntax from documented functions (i.e.,divelements nested insidepelements). See #30 (i.e., the reply by @mihaiconstantin) for more details.
- Fix
HTMLvalidation problems during theCRANchecks. Closes #30.
- Add navigation bar and sidebar links under Reference for exported package
functions and
S3methods. - Enable automatic registration for
.vuecomponents in/docs/.vuepress/components/. - Add component
Markdown.vuefor rendering reusable markdown. - Add content for functions
powerly,validate, andgenerate_model. - Add content for
S3methodsplot.Method,plot.Validation, andsummary.
- Refactor styles and improve readability for narrow screens.
- Replace incorrect feature image for Step 1.
- Update
CSSbreakpoints for mobile views.
- Add starter package documentation via
VuePress. The deployed documentation files can be accessed at powerly.dev.
- Add reference to online documentation in
README.mdfile. - Moved image assets from
inst/underdocs/. - Simplify
ASCIIconsole logo to include domain name for the online documentation.
- Remove square brackets from version numbers in
NEWS.mdto allow CRAN to parse the version information.
- Add option to run GitHub workflow manually.
- Add more arguments for generating partial correlation matrices (i.e., in line
with Yin and Li, 2011; see reference below). The new arguments are
positive(i.e., for the proportion of positive edges),range(i.e., for the interval from which to sample values for the partial correlations), andconstant(i.e., to vary the magnitude of the partial correlations). See Yin and Li (2011) for a description of the generating algorithm. - Add functionality to resample
GgmModeldata when variables withSD = 0are detected.
- Update documentation to include the new arguments for generating a GGM.
- Update GGM data generation and estimation tests.
- Yin, J., and Li, H. (2011). A sparse conditional gaussian graphical model for analysis of genetical genomics data. The annals of applied statistics, 5(4), 2630.
- Add
durationfield toStepTwoclass to record the execution time for the spline fitting procedure - Add
CNAMEfor apex domainhttps://powerly.devserved via GitHub Pages.
- Fix missing import for
mvnormpackage (#11). Closes #5. - Fix missing number of
coresinBackendwhen more cores than available were requested (#12). Closes #2. - Fix legend overlapping spline confidence bands for
StepThreeplot (#13). Closes #3. - Fix recording and reporting of
Methodand step classes execution time (#15). The duration is now recorded in seconds. Closes #9.
- Remove
devbranch from allGitHubworkflows (#14). Switched to theGitHubflow. Closes #4.
- Update badges order in
README.mdand removed open issues badge.
- Fix typos in
NEWSfile.
- Add GitHub badges with latest release version and number of open issues.
- Update GGM estimation test to check if the estimation fails when variables with zero standard deviation are present in the generated data.
- Update GGM estimation to fail when the generated data contains at least one variable that has a standard deviation equal to zero (i.e., as a result of generating data with a sample size value that is too low).
- Add tolerance (i.e.,
0.0000001) for test checking whether the spline coefficients are estimated correctly. - Fix test for the updating of the bounds of a
Rangeinstance to run only when the the 2.5th and 97.5th selected sample sizes are different quantities. - Fix bug in GGM data generating test where the number of nodes to generate data for were incorrectly sampled.
- Update moved URL https://codecov.io/gh/mihaiconstantin/powerly to https://app.codecov.io/gh/mihaiconstantin/powerly based on comments of CRAN maintainer Uwe Ligges.
- Add
summaryS3 method support forValidationclass objects.
- Add new
Rversion to the CI pipeline for theR CMD checkjob. - Update
R CMD checkworkflow to usecheckaction fromr-lib/actions. - Add explicit
.dataand.envpronoun calls (i.e., from therlangpackage) to variables used inside data-masking function (e.g.,ggplot2::aes()) to avoidCRANnotes regarding missing bindings for global variables. See this question for more information: https://stackoverflow.com/q/9439256/5252007. - Update plot functions to respect the signature of the S3 plot generic.
- Improve documentation and positioning of figures in the help pages.
- Create
roxygen2templates for documenting the public API and S3 methods. - Extract
plot()methods fromR6classes into standalone S3 methods. - Update package start-up logo with message to welcome and encourage users to submit ideas for improving the package.
- Extend CI workflow to include branch
dev.
- Fix backend test where the cluster would contain an unexpected
.Random.seed. The.Random.seedis caused by loading thebootnetpackage which in turn loads thesnowpackage. Thesnowpackage uses theRNGwithin the.onLoad()function to draw from the uniform distribution and set a port number. The result of this operation is a.Random.seedin the.GlobalEnv. For more information see: https://stackoverflow.com/q/69866215/5252007 and SachaEpskamp/bootnet#82. - Fix preprint URL in package documentation.
- Fix heading typo in news file.
- Update line exclusions for
covr::codecov().
- Add new
Validationclass plot toREADME.mdfile. - Update
GgmModeltests to vary various model estimation and data generation parameters. - Update
testthat::expect_equalto test with a tolerance of1e-6forBasisandSolver. - Replace own
GgmModelestimation withqgraph::EBICglasso(). - Add ECDF plot to
Validationclass. - Import external functions to
NAMESPACEviaRoxygen2. - Add more cool badges to
README.md(e.g., CRAN version and check status). - Fix missing missing period in package description in
DESCRIPTIONfile.
- Fix issue where
GGMestimation test would fail due to a precision level set too high.
- Update
Descriptionfield inDESCRIPTIONfile to follow CRAN guidelines.
- Update preprint link in
powerly()documentation to use the\doi{}syntax as indicated by CRAN member Uwe Ligges. - Update
DESCRIPTIONto start with capital letter as indicated by CRAN member Uwe Ligges. - Fix typo in
DESCRIPTION.
- Add preliminary
summary()support forMethodandValidationobjects. - Update citation and references to the preprint available at psyarxiv.com/j5v7u.
- Add
ggplotplots and saving support forStepOne,StepTwo,StepThreeandValidationobjects.
- Migrate from
Rbase plots toggplot2andpatchwork. - Add more detailed
DescriptioninDESCRIPTIONfile as per comment by CRAN member Julia Haider.
- Fix seed in
StepOneunit test. - Fix superfluous test fail for
GGMmodel estimation. Restricted the unit test to compare the estimated edge weights up to 7 digits precision.
- Add code coverage workflow based on action provided by
usethis::use_github_action("test-coverage")and badge toREADME.md.
- Fix cluster creation bug in
Backendwhen the machine had only 1 or 2 cores. The previous version would result in an error when the machine contained only 1 or 2 cores. Now, when the machine has only 1 core, the cluster creation will fail, with a message that not enough cores are available. When the machine has 2 cores, all 2 cores are used. In all other cases, the number of cores used is given by the number of cores on the machine minus one.
- Add names and comments to workflow file
R-CMD-check.yaml. - Update
README.mdand package startup logo to only show major version. - Update existing tests and added new ones.
- Add type check for
methodargument ofvalidate()to ensure that only instances ofMethodclass (i.e., produced bypowerly()are passed). - Add
Backendstopping toon.exit()inpowerly()to ensure the cluster is stopped no matter the execution status of the function. - Improve logic around setting and resetting the number of cores when the cluster is created and stopped (i.e., also for adopted clusters).
- Correct version number and add changes in
NEWS.mdfor1.2.0.
- Add CI workflow via
usethis::use_github_action_check_standard().
- Restrict tests to using a maximum of two cores to respect CRAN restriction.
- Hide package logo at startup if the
Rsession is not interactive. - Add more informative changelogs to
NEWS.mdfor previous releases.
- Add
.remove_missing()to clear anyNAvalues that may be present in.measuresinStepOneclass after the Monte Carlo procedure.
- Fix broken URLs in documentation causing build warnings.
- Add
validate()public API to validate method results. - Add
Validationclass to perform validation on aMethodobject.
- Add example in
README.mdforvalidation()and fixed images. - Decrease legend font size in
StepThreeclass. - Rename from quantile to percentile in
StepThreeclass plots.
- Add
powerly()public API to run the method. - Add
generate_model()public API to generate true models. - Add package documentation for public API.
- Add plotting for all three method steps.
- Add option to save last two iterations in
Methodclass. - Add
Methodclass to run the method steps iteratively. - Add parallel support for Step 1 and Step 3 of the method.
- Add
Backendclass to manage parallel clusters. - Add support for multiple solvers for estimating spline coefficients.
- Rewrite prototype using
R6OOP style into first stable release.
- Remove text feedback from each method step function.
- Fix bug cased by initial candidate sample size ranges being too narrow.
- Add preliminary support for the Gaussian Graphical Model via
ggmobject. - Add preliminary support for two statistics via
statistic.power()andstatistic.mean(). - Add
validate.recommendation()prototype for validating a sample size recommendation. - Add
run.method()prototype for running all method steps iteratively. - Add
run.step.1()prototype for Step 1 of the method. - Add
run.step.2()prototype for Step 2 of the method. - Add
run.step.3()prototype for Step 3 of the method.