sirt — sirt-utilities" />
sirt-utilities.Rd
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, control=list(), ...) # 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) # print a data frame x with fixed numbers of digits after the decimal print_digits(x, digits=NULL) # discrete inverse function sirt_rcpp_discrete_inverse(x0, y0, y) # move variables in a data frame move_variables_df(x, after_var, move_vars)
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 one of the following optimizers: |
par | Initial parameter |
fn | Function |
grad | Gradient function |
method | Optimization method |
hessian | Logical |
control | Control list for R optimizers |
... | 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 |
x0 | Vector |
y0 | Vector |
after_var | String indicating variable name after which variable specified
variables in |
move_vars | Variables which should be moved after |
############################################################################# ## 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 ) if (FALSE) { ############################################################################# ## 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) }