MyNixOS website logo
Description

Useful Tricks for Matrix Manipulation.

Provides functions, which make matrix creation conciser (such as the core package's function m() for rowwise matrix definition or runifm() for random value matrices). Allows to set multiple matrix values at once, by using list of formulae. Provides additional matrix operators and dedicated plotting function.

matricks

Useful tricks for matrix manipulation

Documentation Travis buildstatus AppVeyor buildstatus Buy hexstciker

Installation

devtools::install_github('krzjoa/matricks')

Usage

Main matricks functions are m and v, which provide convenient API to create matrices and vectors.
Why should we write:

matrix(c(5, 6, 7,
         8, 0, 9,
         3, 7, 1), nrow = 3, byrow = TRUE)
#>      [,1] [,2] [,3]
#> [1,]    5    6    7
#> [2,]    8    0    9
#> [3,]    3    7    1

if we can simply create such a matrix like that:

library(matricks)

m(5, 6, 7|
  8, 0, 9|
  3, 7, 1)
#>      [,1] [,2] [,3]
#> [1,]    5    6    7
#> [2,]    8    0    9
#> [3,]    3    7    1

v function is an useful shortcut for creating vertical vectors (single columns)

v(1,2,3)
#>      [,1]
#> [1,]    1
#> [2,]    2
#> [3,]    3
v(1:5)
#>      [,1]
#> [1,]    1
#> [2,]    2
#> [3,]    3
#> [4,]    4
#> [5,]    5

Setting values in easier with matricks

mat <- matrix(0, 3, 3)
set_values(mat, c(1, 2) ~ 0.5, c(3, 1) ~ 7)
#>      [,1] [,2] [,3]
#> [1,]    0  0.5    0
#> [2,]    0  0.0    0
#> [3,]    7  0.0    0
Metadata

Version

0.8.2

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • 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