The cmstatr
package provides functions for performing
statistical analysis of composite material data. The statistical methods
implemented are those described in CMH-17-1G. This package focuses on
calculating basis values (lower tolerance bounds) for material strength
properties, as well as performing the associated diagnostic tests.
Functions are also provided for testing for equivalency between
alternate samples and the “qualification” or “baseline” samples.
Additional details about the package are available in the paper by Kloppenborg (2020, https://doi.org/10.21105/joss.02265).
There is a companion package cmstatrExt
which provides
statistical methods that are not included in CMH-17, but which may be of
use to practitioners. For more information, please see the cmstatrExt
Website.
To install cmstatr
from CRAN, simply run:
install.packages("cmstatr")
If you want the latest development version, you can install it from
github
using devtools
. This will also install
the dependencies required to build the vignettes. Optionally, change the
value of the argument ref
to install cmstatr
from a different branch of the repository.
install.packages(c("devtools", "rmarkdown", "dplyr", "tidyr"))
::install_github("cmstatr/cmstatr", build_vignettes = TRUE,
devtoolsref = "master",
build_opts = c("--no-resave-data", "--no-manual"))
To compute a B-Basis value from an example data set packaged with
cmstatr
you can do the following:
library(dplyr)
library(cmstatr)
.2 %>%
carbon.fabricfilter(test == "FC") %>%
filter(condition == "RTD") %>%
basis_normal(strength, batch)
#>
#> Call:
#> basis_normal(data = ., x = strength, batch = batch)
#>
#> Distribution: Normal ( n = 18 )
#> B-Basis: ( p = 0.9 , conf = 0.95 )
#> 76.88082
For more examples of usage of the cmstatr
package, see
the tutorial vignette, which can be viewed
online, or can be loaded as follows, once the package is
installed:
vignette("cmstatr_Tutorial")
There is also a vignette showing some examples of the types of graphs that are typically produced when analyzing composite materials. You can view this vignette online, or you can load this vignette with:
vignette("cmstatr_Graphing")
This package expects tidy data
.
That is, individual observations should be in rows and variables in
columns.
Where possible, this package uses general solutions. Look-up tables are avoided wherever possible.
If you’ve found a bug, please open an issue in this repository and describe the bug. Please include a reproducible example of the bug. If you’re able to fix the bug, you can do so by submitting a pull request.
If your bug is related to a particular data set, sharing that data set will help to fix the bug. If you cannot share the data set, please strip any identifying information and optionally scale the data by an unspecified factor so that the bug can be reproduced and diagnosed.
Contributions to cmstatr
are always welcomed. For small
changes (fixing typos or improving the documentation), go ahead and
submit a pull request. For more significant changes, such as new
features, please discuss the proposed change in an issue first.
R CMD check
passes with no errors, warnings or noteslintr
packageroxygen2
testthat
.
If your contribution fixes a bug, then the test(s) that you add should
fail before your bug-fix patch is applied and should pass after the code
is patched.NEWS.md
below the current development versionTesting is performed using testthat
. Edition 3 of that
package is used and parallel processing enabled. If you wish to use more
than two CPUs, set the environment variable TESTTHAT_CPUS
to the number of CPUs that you want to use. One way of doing this is to
create the file .Rprofile
with the following contents. This
file is ignored both by git
and also in
.Rbuildingore
.
Sys.setenv(TESTTHAT_CPUS = 8)