MyNixOS website logo
Description

Create Subformulas of a Formula.

A formula 'sub' is a subformula of 'formula' if all the terms on the right hand side of 'sub' are terms of 'formula' and their left hand sides are identical. This package aids in the creation of subformulas.

subformula

BuildStatus AppVeyor BuildStatus CRAN_Status_Badge CoverageStatus Project Status: Active – The project has reached a stable, usablestate and is being activelydeveloped.

Subformula constructs the subformulas of a formula object. Use this to speed up tasks such as model selection and comparison of models.

Installation

Install the development version from GitHub with:

# install.packages("devtools")
devtools::install_github("JonasMoss/subformula")

Usage

There are two functions in the package, subformula and fapply. subformulas creates subformulas while fapply is a member of the apply family tailored for fitting a statistical model for each formula in a list of formulas.

A formula sub is a subformula of formula if (i) all the terms on the right hand side of sub are terms of form and (ii) their left hand sides are identical. subformula finds every subformula of formula that contains each term in protected.

library("subformula")
formula = mpg ~ wt + gear + cyl
subformula(formula, protected = ~ cyl)
#> [[1]]
#> mpg ~ cyl
#> 
#> [[2]]
#> mpg ~ wt + cyl
#> 
#> [[3]]
#> mpg ~ gear + cyl
#> 
#> [[4]]
#> mpg ~ wt + gear + cyl

Now apply the subformulas to a model function such as lm with fapply.

models = fapply(subformula(formula, protected = ~ cyl), lm, data = mtcars)
lapply(models, AIC)
#> $`mpg ~ cyl`
#> [1] 169.3064
#> 
#> $`mpg ~ wt + cyl`
#> [1] 156.0101
#> 
#> $`mpg ~ gear + cyl`
#> [1] 170.7377
#> 
#> $`mpg ~ wt + gear + cyl`
#> [1] 157.4991

How to Contribute or Get Help

If you encounter a bug, have a feature request or need some help, open a Github issue. This project follows a Contributor Code of Conduct.

Metadata

Version

0.1.0

License

Unknown

Platforms (77)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows