| sirt-utilities {sirt} | R Documentation |
Utility functions in sirt.
# bounds entries in a vector
bounds_parameters( pars, lower=NULL, upper=NULL)
# improper density function which always returns a value of 1
dimproper(x)
# generalized inverse of a symmetric function
ginverse_sym(A, eps=1E-8)
# hard thresholding function
hard_thresholding(x, lambda)
# soft thresholding function
soft_thresholding(x, lambda)
# power function x^a, like in Cpp
pow(x, a)
# trace of a matrix
tracemat(A)
#** matrix functions
sirt_matrix2(x, nrow) # matrix() function with byrow=TRUE
sirt_colMeans(x, na.rm=TRUE)
sirt_colSDs(x, na.rm=TRUE)
sirt_colMins(x, na.rm=TRUE)
sirt_colMaxs(x, na.rm=TRUE)
sirt_colMedians(x, na.rm=TRUE)
#* normalize vector to have sum of one
sirt_sum_norm(x, na.rm=TRUE)
#* discrete normal distribution
sirt_dnorm_discrete(x, mean=0, sd=1, ...)
# plyr::rbind.fill implementation in sirt
sirt_rbind_fill(x, y)
# Fisher-z transformation, see psych::fisherz
sirt_fisherz(rho)
# inverse Fisher-z transformation, see psych::fisherz2r
sirt_antifisherz(z)
# smooth approximation of the absolute value function
sirt_abs_smooth(x, deriv=0, eps=1e-4)
# permutations with replacement
sirt_permutations(r,v)
#-> is equivalent to gtools::permutations(n=length(v), r=D, v=v, repeats.allowed=TRUE)
# attach all elements in a list in a specified environment
sirt_attach_list_elements(x, envir)
# switch between stats::optim and stats::nlminb
sirt_optimizer(optimizer, par, fn, grad=NULL, method="L-BFGS-B", hessian=TRUE, ...)
# print objects in a summary
sirt_summary_print_objects(obji, from=NULL, to=NULL, digits=3, rownames_null=TRUE,
grep_string=NULL)
# print package version and R session
sirt_summary_print_package_rsession(pack)
# print package version
sirt_summary_print_package(pack)
# print R session
sirt_summary_print_rsession()
# print call
sirt_summary_print_call(CALL)
pars |
Numeric vector |
lower |
Numeric vector |
upper |
Numeric vector |
x |
Numeric vector or a matrix or a list |
eps |
Numerical. Shrinkage parameter of eigenvalue in |
a |
Numeric vector |
lambda |
Numeric value |
A |
Matrix |
nrow |
Integer |
na.rm |
Logical |
mean |
Numeric |
sd |
Numeric |
y |
Matrix |
rho |
Numeric |
deriv |
Integer indicating the order of derivative |
z |
Numeric |
r |
Integer |
v |
Vector |
envir |
Environment |
optimizer |
Can be |
par |
Initial parameter |
fn |
Function |
grad |
Gradient function |
method |
Optimization method |
hessian |
Logical |
... |
Further arguments to be passed |
obji |
Data frame |
from |
Integer |
to |
Integer |
digits |
Integer |
rownames_null |
Logical |
grep_string |
String |
pack |
Package name |
CALL |
Call statement |
############################################################################# ## EXAMPLE 1: Trace of a matrix ############################################################################# set.seed(86) A <- matrix( stats::runif(4), 2,2 ) tracemat(A) sum(diag(A)) #=sirt::tracemat(A) ############################################################################# ## EXAMPLE 2: Power function ############################################################################# x <- 2.3 a <- 1.7 pow(x=x,a=a) x^a #=sirt::pow(x,a) ############################################################################# ## EXAMPLE 3: Soft and hard thresholding function (e.g. in LASSO estimation) ############################################################################# x <- seq(-2, 2, length=100) y <- sirt::soft_thresholding( x, lambda=.5) graphics::plot( x, y, type="l") z <- sirt::hard_thresholding( x, lambda=.5) graphics::lines( x, z, lty=2, col=2) ############################################################################# ## EXAMPLE 4: Bounds on parameters ############################################################################# pars <- c(.721, .346) bounds_parameters( pars=pars, lower=c(-Inf, .5), upper=c(Inf,1) ) ############################################################################# ## EXAMPLE 5: Smooth approximation of absolute value function ############################################################################# x <- seq(-1,1,len=100) graphics::plot(x, abs(x), lwd=2, col=1, lty=1, type="l", ylim=c(-1,1) ) # smooth approximation tt <- 2 graphics::lines(x, sirt::sirt_abs_smooth(x), lty=tt, col=tt, lwd=2) # first derivative tt <- 3 graphics::lines(x, sirt::sirt_abs_smooth(x, deriv=1), lty=tt, col=tt, lwd=2) # second derivative tt <- 4 graphics::lines(x, sirt::sirt_abs_smooth(x, deriv=2), lty=tt, col=tt, lwd=2) # analytic computation of first and second derivative stats::deriv( ~ sqrt(x^2 + eps), namevec="x", hessian=TRUE ) ## Not run: ############################################################################# ## EXAMPLE 6: Permutations with replacement ############################################################################# D <- 4 v <- 0:1 sirt::sirt_permutations(r=D, v=v) gtools::permutations(n=length(v), r=D, v=v, repeats.allowed=TRUE) ## End(Not run)