Skip to content

Commit

Permalink
turing -> xoopy
Browse files Browse the repository at this point in the history
  • Loading branch information
RaphaelS1 committed Feb 23, 2024
1 parent 880b558 commit 6c67cdd
Show file tree
Hide file tree
Showing 23 changed files with 86 additions and 97 deletions.
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
## Contributing to distr6

Please refer to [our wiki](https:/alan-turing-institute/distr6/wiki/distr6-Wiki) for details on how to contribute to distr6 as well as the extension guidelines and appendices in [our website](https://alan-turing-institute.github.io/distr6/index.html).
Please refer to [our wiki](https:/xoopr/distr6/wiki/distr6-Wiki) for details on how to contribute to distr6 as well as the extension guidelines and appendices in [our website](https://xoopr.github.io/distr6/index.html).
6 changes: 3 additions & 3 deletions DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,9 @@ Description: An R6 object oriented distributions package. Unified
Normal distribution and Michael et al. (1976) <doi:10.2307/2683801>
for sampling the Wald distribution.
License: MIT + file LICENSE
URL: https://alan-turing-institute.github.io/distr6/,
https:/alan-turing-institute/distr6/
BugReports: https:/alan-turing-institute/distr6/issues
URL: https://xoopr.github.io/distr6/,
https:/xoopr/distr6/
BugReports: https:/xoopr/distr6/issues
Imports:
checkmate,
data.table,
Expand Down
8 changes: 4 additions & 4 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -399,12 +399,12 @@
# distr6 1.0.0

- v1 API is ready to be shipped to CRAN!
- Again [see here](https://alan-turing-institute.github.io/distr6/articles/webs/api_lifecycle.html) for the updated API lifecycle
- Tutorials, extension guidelines and other documentation (in appendices) are now on the [website](https://alan-turing-institute.github.io/distr6/index.html)
- Again [see here](https://xoopr.github.io/distr6/articles/webs/api_lifecycle.html) for the updated API lifecycle
- Tutorials, extension guidelines and other documentation (in appendices) are now on the [website](https://xoopr.github.io/distr6/index.html)
- distr6 is a complete, unified, object-oriented interface to probability distributions in R. Complete with 36 probability distributions and another 11 kernels, distr6 also allows functionality for numerical imputation of methods and statistical functions.

# distr6 0.1.0.9000

- Now public!
- distr6 API as whole is still very much experimental but analytic features are fairly stable, [see here](https://alan-turing-institute.github.io/distr6/articles/webs/api_lifecycle.html) for details on feature lifecycles
- Development continues to be internal, through UCL and The Alan Turing Institute, but we welcome external users to test the API and report bugs, see our [contributing guidelines](https:/alan-turing-institute/distr6/blob/master/CONTRIBUTING.md) for details including our [code of conduct](https:/alan-turing-institute/distr6/blob/master/CODE_OF_CONDUCT.md)
- distr6 API as whole is still very much experimental but analytic features are fairly stable, [see here](https://xoopr.github.io/distr6/articles/webs/api_lifecycle.html) for details on feature lifecycles
- Development continues to be internal, through UCL and The Alan Turing Institute, but we welcome external users to test the API and report bugs, see our [contributing guidelines](https:/xoopr/distr6/blob/master/CONTRIBUTING.md) for details including our [code of conduct](https:/xoopr/distr6/blob/master/CODE_OF_CONDUCT.md)
2 changes: 1 addition & 1 deletion R/distr6-package.R
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,6 @@
#'
#' And for more advanced usage see the complete tutorials at
#'
#' \href{https://alan-turing-institute.github.io/distr6/index.html}{https://alan-turing-institute.github.io/distr6/index.html} #nolint
#' \href{https://xoopr.github.io/distr6/index.html}{https://xoopr.github.io/distr6/index.html} #nolint
#'
"_PACKAGE"
8 changes: 4 additions & 4 deletions man/distr6-package.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions vignettes/distr6.rmd
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ vignette: >
\usepackage[utf8]{inputenc}
---

distr6 is a unified, self-contained and scalable interface to probability distributions in R. Making use of the R6 paradigm, distr6 implements a fully object-oriented (OO) interface complete with distribution construction, full inheritance and more complex design patterns. The API is built to be scalable and intuitive, ensuring that every distribution has the same interface and that more complex properties are abstracted from the core functionality. A full set of tutorials can be found [here](https://alan-turing-institute.github.io/distr6/index.html). In this introductory vignette we briefly demonstrate how to construct a distribution, view and edit its parameters and evaluate different in-built methods. The [website](https://alan-turing-institute.github.io/distr6/index.html) covers more complex use-cases including composite distributions and decorators for numeric methods.
distr6 is a unified, self-contained and scalable interface to probability distributions in R. Making use of the R6 paradigm, distr6 implements a fully object-oriented (OO) interface complete with distribution construction, full inheritance and more complex design patterns. The API is built to be scalable and intuitive, ensuring that every distribution has the same interface and that more complex properties are abstracted from the core functionality. A full set of tutorials can be found [here](https://xoopr.github.io/distr6/index.html). In this introductory vignette we briefly demonstrate how to construct a distribution, view and edit its parameters and evaluate different in-built methods. The [website](https://xoopr.github.io/distr6/index.html) covers more complex use-cases including composite distributions and decorators for numeric methods.


## Getting Started
Expand Down Expand Up @@ -80,7 +80,7 @@ N$traits
```

### d/p/q/r
distr6 is intended not to replace R stats distributions but to be a different way of interfacing
distr6 is intended not to replace R stats distributions but to be a different way of interfacing
them. All distributions in R stats can be found in distr6 and all their d/p/q/r functions which
refer to density/cumulative distribution/quantile/random are all available in distr6. Continuing
our Normal distribution example:
Expand Down Expand Up @@ -142,6 +142,6 @@ head(listDistributions(filter = list(VaLueSupport = "continuous", package = "ext

## Further Documentation

* [Tutorials](https://alan-turing-institute.github.io/distr6/articles/webs/intro_to_r6.html)
* [Extension guidelines](https://alan-turing-institute.github.io/distr6/articles/webs/preliminaries.html)
* [Project Wiki](https:/alan-turing-institute/distr6/wiki)
* [Tutorials](https://xoopr.github.io/distr6/articles/webs/intro_to_r6.html)
* [Extension guidelines](https://xoopr.github.io/distr6/articles/webs/preliminaries.html)
* [Project Wiki](https:/xoopr/distr6/wiki)
8 changes: 2 additions & 6 deletions vignettes/webs/analytic_and_numeric_methods.rmd
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ set.seed(42)
knitr::opts_chunk$set(collapse = TRUE, comment = "#>")
```

This document is for understanding how and when distr6 uses analytical or numerical results. For a tutorial on how to use decorators, [see here](https://alan-turing-institute.github.io/distr6/articles/webs/decorators.html).
This document is for understanding how and when distr6 uses analytical or numerical results. For a tutorial on how to use decorators, [see here](https://xoopr.github.io/distr6/articles/webs/decorators.html).

distr6 operates under a strict rule that implemented distributions, of class `SDistribution`, and similarly implemented kernels, of class `Kernel`, should only contain analytical methods. This ensures that all results are as precise as possible and ensure optimal efficiency.

Expand Down Expand Up @@ -63,8 +63,4 @@ Finally, even if an analytical expression for `expectation` exists, the `CoreSta



See the [decorators tutorial](https://alan-turing-institute.github.io/distr6/articles/webs/decorators.html) for details on how to decorate a Distribution.




See the [decorators tutorial](https://xoopr.github.io/distr6/articles/webs/decorators.html) for details on how to decorate a Distribution.
26 changes: 13 additions & 13 deletions vignettes/webs/api_lifecycle.rmd
Original file line number Diff line number Diff line change
Expand Up @@ -13,21 +13,21 @@ distr6 v1 is now live and most of the API is stable however some aspects are sti
1. [Maturing](#maturing-classes-and-methods) - Functioning but the internal methodology needs tweaking, API is unlikely to change
2. [Stable](#maturing-classes-and-methods) - Functioning as expected and (hopefully) bug free

The lists below use the headings name from the [reference page](https://alan-turing-institute.github.io/distr6/reference/#section-univariate-discrete-distributions) of the website.
The lists below use the headings name from the [reference page](https://xoopr.github.io/distr6/reference/#section-univariate-discrete-distributions) of the website.

## Maturing Classes and Methods ![](https://img.shields.io/badge/lifecycle-maturing-blue.svg)
* [Convolution](https://alan-turing-institute.github.io/distr6/reference/#section-decorators)
* [Convolution](https://xoopr.github.io/distr6/reference/#section-decorators)

## Stable Classes and Methods ![](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)

* [Distributions](https://alan-turing-institute.github.io/distr6/reference/#section-distributions)
* [Kernels](https://alan-turing-institute.github.io/distr6/reference/#section-kernels)
* [Mathematical and Statistical](https://alan-turing-institute.github.io/distr6/reference/#section-mathematical-and-statistical)
* [Distribution Accessors](https://alan-turing-institute.github.io/distr6/reference/#section-distribution-accessors)
* [Decorators](https://alan-turing-institute.github.io/distr6/reference/#section-decorators)
* [Wrappers, except Scale and Convolution](https://alan-turing-institute.github.io/distr6/reference/#section-decorators)
* [Univariate Discrete Distributions](https://alan-turing-institute.github.io/distr6/reference/#section-univariate-discrete-distributions)
* [Univariate Continuous Distributions](https://alan-turing-institute.github.io/distr6/reference/#section-univariate-continuous-distributions)
* [Multivariate Distributions](https://alan-turing-institute.github.io/distr6/reference/#section-multivariate-distributions)
* [Assertions](https://alan-turing-institute.github.io/distr6/reference/#section-assertions)
* [Helper Functions](https://alan-turing-institute.github.io/distr6/reference/#section-helper-functions)
* [Distributions](https://xoopr.github.io/distr6/reference/#section-distributions)
* [Kernels](https://xoopr.github.io/distr6/reference/#section-kernels)
* [Mathematical and Statistical](https://xoopr.github.io/distr6/reference/#section-mathematical-and-statistical)
* [Distribution Accessors](https://xoopr.github.io/distr6/reference/#section-distribution-accessors)
* [Decorators](https://xoopr.github.io/distr6/reference/#section-decorators)
* [Wrappers, except Scale and Convolution](https://xoopr.github.io/distr6/reference/#section-decorators)
* [Univariate Discrete Distributions](https://xoopr.github.io/distr6/reference/#section-univariate-discrete-distributions)
* [Univariate Continuous Distributions](https://xoopr.github.io/distr6/reference/#section-univariate-continuous-distributions)
* [Multivariate Distributions](https://xoopr.github.io/distr6/reference/#section-multivariate-distributions)
* [Assertions](https://xoopr.github.io/distr6/reference/#section-assertions)
* [Helper Functions](https://xoopr.github.io/distr6/reference/#section-helper-functions)
2 changes: 1 addition & 1 deletion vignettes/webs/constructing_a_distribution.rmd
Original file line number Diff line number Diff line change
Expand Up @@ -60,4 +60,4 @@ Normal$new(mean = 2, var = 2, sd = 3, prec = 4)

## Summary

In this tutorial we looked at constructing a distribution with different parameterisations. In the [next tutorial](https://alan-turing-institute.github.io/distr6/articles/webs/parameters.html) we look at getting and setting parameters and how this functions with your chosen parameterisation.
In this tutorial we looked at constructing a distribution with different parameterisations. In the [next tutorial](https://xoopr.github.io/distr6/articles/webs/parameters.html) we look at getting and setting parameters and how this functions with your chosen parameterisation.
10 changes: 5 additions & 5 deletions vignettes/webs/create_decorator.rmd
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ ExoticStatistics$set("public", "survival", function(x1, log.p = FALSE) {
})
```

Note the use of `private$.isCdf`, this checks to see if the `cdf` method is defined in the `Distribution`. Remember that every `Distribution` object always have public d/p/q/r methods defined but do not necessarily have a private d/p/q/r method which actually does all the work. Therefore every `Distribution` includes flags for whether or not the d/p/q/r method is defined. To test this yourself, create a custom distribution object with a pdf only, and see what happens when you call the `cdf` method (it will return NULL).
Note the use of `private$.isCdf`, this checks to see if the `cdf` method is defined in the `Distribution`. Remember that every `Distribution` object always have public d/p/q/r methods defined but do not necessarily have a private d/p/q/r method which actually does all the work. Therefore every `Distribution` includes flags for whether or not the d/p/q/r method is defined. To test this yourself, create a custom distribution object with a pdf only, and see what happens when you call the `cdf` method (it will return NULL).

Therefore the use of `private$.isCdf` tells the decorator whether it can use analytical results or if numeric integration is required.

Expand All @@ -82,11 +82,11 @@ Note: if the user has already decorated their distribution with `FunctionImputat

1. Decorators are simple to implement, just define a new class inheriting from `DistributionDecorator`
2. Add as many public methods as you want, but remember to include messages for numerical integration
3. Make use of the private `.isCdf`, `.isPdf`, `.isQuantile`, `.isRand` methods to exploit analytical results.
3. Make use of the private `.isCdf`, `.isPdf`, `.isQuantile`, `.isRand` methods to exploit analytical results.


## Extension Guidelines

* [SDistribution](https://alan-turing-institute.github.io/distr6/articles/webs/create_sdistribution.html)
* [Kernel](https://alan-turing-institute.github.io/distr6/articles/webs/create_kernel.html)
* [Wrapper](https://alan-turing-institute.github.io/distr6/articles/webs/create_wrapper.html)
* [SDistribution](https://xoopr.github.io/distr6/articles/webs/create_sdistribution.html)
* [Kernel](https://xoopr.github.io/distr6/articles/webs/create_kernel.html)
* [Wrapper](https://xoopr.github.io/distr6/articles/webs/create_wrapper.html)
8 changes: 4 additions & 4 deletions vignettes/webs/create_kernel.rmd
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ knitr::opts_chunk$set(collapse = TRUE, comment = "#>")
## Kernel Class

Similarly to implemented probability distributions, implemented kernels all inherit from a single
class 'kernel', which in turn inherits from `Distribution` (see the [uml diagram](https://raw.githubusercontent.com/wiki/alan-turing-institute/distr6/images/uml.png)). But this is a much simpler class with reduced methods and many of these return the same result and are therefore defined in the `kernel` parent class. For every kernel the following is true
class 'kernel', which in turn inherits from `Distribution` (see the [uml diagram](https://raw.githubusercontent.com/wiki/xoopr/distr6/images/uml.png)). But this is a much simpler class with reduced methods and many of these return the same result and are therefore defined in the `kernel` parent class. For every kernel the following is true

* `kernel$mean()` == 0
* `kernel$median()` == 0
Expand Down Expand Up @@ -124,6 +124,6 @@ Kernels are much simpler to extend than SDistributions. Just remember the follow

## Extension Guidelines

* [SDistribution](https://alan-turing-institute.github.io/distr6/articles/webs/create_sdistribution.html)
* [Wrapper](https://alan-turing-institute.github.io/distr6/articles/webs/create_wrapper.html)
* [Decorator](https://alan-turing-institute.github.io/distr6/articles/webs/create_decorator.html)
* [SDistribution](https://xoopr.github.io/distr6/articles/webs/create_sdistribution.html)
* [Wrapper](https://xoopr.github.io/distr6/articles/webs/create_wrapper.html)
* [Decorator](https://xoopr.github.io/distr6/articles/webs/create_decorator.html)
Loading

0 comments on commit 6c67cdd

Please sign in to comment.