| Title: | Nima Hejazi's R Toolbox | 
| Version: | 0.6.2 | 
| Description: | Miscellaneous R functions developed as collateral damage over the course of work in statistical and scientific computing for research. These include, for example, utilities that supplement existing idiosyncrasies of the R language, extend existing plotting functionality and aesthetics, help prepare data objects for imputation, and extend access to command line tools and systems-level information. | 
| Maintainer: | Nima Hejazi <nh@nimahejazi.org> | 
| Depends: | R (≥ 3.2.3) | 
| Imports: | utils, stats, assertthat, ggplot2, ggthemes, scales, gtools, dplyr, grid, gridExtra, | 
| Suggests: | knitr, roxygen2, testthat, tibble, stringr | 
| License: | MIT + file LICENSE | 
| URL: | https://github.com/nhejazi/nima | 
| BugReports: | https://github.com/nhejazi/nima/issues | 
| Encoding: | UTF-8 | 
| LazyData: | true | 
| RoxygenNote: | 7.0.2 | 
| NeedsCompilation: | no | 
| Packaged: | 2020-03-06 01:58:19 UTC; nsh | 
| Author: | Nima Hejazi | 
| Repository: | CRAN | 
| Date/Publication: | 2020-03-06 06:10:03 UTC | 
Maximum of Absolute Values of Vector
Description
Take the maximum of the absolute values of an input vector.
Usage
absmax(x, na.rm = FALSE)
Arguments
| x | A numeric vector or array. | 
| na.rm | A logical indicating whether missing values should be removed. | 
Value
The maximum of the absolute values of elements of the input vector.
Examples
x <- c(5, 3, -9, -100, 3.14159, 7.5)
absmax(x)
Get Names of Attributes
Description
Get the names of the attributes of an input object.
Usage
attrnames(obj)
Arguments
| obj | Any object. | 
Value
Vector of character strings with the names of the attributes.
Examples
x <- matrix(1:100, ncol = 5)
colnames(x) <- LETTERS[1:5]
attrnames(x)
Clear the Current Screen/Buffer
Description
Clear the screen with a call to system and clear.
Usage
clear()
Details
This function is merely a call to system("clear")
Examples
system("clear")
Add Commas to a Large Number
Description
Convert a number to a string, with commas inserted at every 3rd digit.
Usage
commas(numbers)
Arguments
| numbers | Vector of non-negative numbers (will be rounded to integers) | 
Value
Character string with numbers written like "5,771,009".
Examples
commas(c(2300, 9000, 21456, 987654890, 1256787, 345765, 1432))
Discretize a Vector by Quantiles
Description
Discretizes a non-factor input vector and returns the result as numeric.
Usage
discrete_by_quantile(x, ...)
Arguments
| x | A vector containing arbitrary data. | 
| ... | Additional arguments passed to  | 
Value
A numeric vector with the data re-coded to based on the quantiles.
Examples
x <- rnorm(1000)
discrete_by_quantile(x)
Exit R Without Saving
Description
Exit R without saving workspace, using the ubiquitous UNIX syntax.
Usage
exit()
Details
This function is merely a call to q("no").
Convert a Factor to Numeric
Description
Convert a factor with numeric levels to a non-factor (numeric).
Usage
factor_to_num(x)
Arguments
| x | A vector containing a factor with numeric levels. | 
Value
The input factor made into a numeric vector.
Examples
x <- factor(c(3, 4, 9, 4, 9), levels = c(3, 4, 9))
factor_to_num(x)
View HTML Version of Help Files
Description
View the HTML version of a help file while running R from the terminal.
Usage
hweb(...)
Arguments
| ... | Help topics. | 
Details
Calls function help using argument htmlhelp=TRUE.
See Also
Examples
hweb(read.table)
Linear Model Diagnostic Plots
Description
Produce standard diagnostic plots for linear models using ggplot2.
Usage
lm_plot(x, ...)
Arguments
| x | A linear model object produced by  | 
| ... | Extra arguments, currently ignored. | 
Examples
n <- 100
x1 <- rnorm(n)
y1 <- rnorm(n)
linmod <- lm(y1 ~ x1)
plot(linmod)
Add missingness indicators to existing data object
Description
Add indicator columns to a data.frame showing the pattern of missingness.
Usage
miss_ind(data, prefix = "miss_")
Arguments
| data | A numeric vector or array. | 
| prefix | A string used to name the indicator variables.. | 
Value
An augmented data.frame with indicators for missingness patterns.
Examples
data <- data.frame(cbind(rnorm(10), runif(10)))
data[sample(nrow(data), 3), 1] <- NA
data[sample(nrow(data), 4), 2] <- NA
data <- miss_ind(data)
Mean Squared Error
Description
Compute the mean squared error (risk under L2 loss).
Usage
mse(prediction, outcome)
Arguments
| prediction | A  | 
| outcome | A  | 
Examples
x <- rnorm(100)
y <- x^2
test_x <- rnorm(100)
test_y <- test_x^2
mod <- glm(y ~ x)
pred <- predict(mod, newx = as.data.frame(test_x))
error <- mse(prediction = pred, outcome = test_y)
Risk for Cross-Entropy Loss
Description
Compute the empirical risk under cross-entropy loss for binary predictions.
Usage
nll(prediction, outcome)
Arguments
| prediction | A  | 
| outcome | A  | 
Examples
n_obs <- 100
x <- rnorm(n_obs)
y <- rbinom(n_obs, 1, plogis(x^2))
test_x <- rnorm(n_obs)
test_y <- rbinom(n_obs, 1, plogis(test_x^2))
mod <- glm(y ~ x, family = "binomial")
pred <- predict(mod, newx = as.data.frame(test_x), type = "response")
error <- nll(prediction = unname(pred), outcome = test_y)
Open a File
Description
Open a file using system and open.
Usage
openfile(file)
Arguments
| file | File name (as character string). | 
Details
Open files from R by using the default operating system program.
Examples
## Not run: 
openfile("myplot.pdf")
## End(Not run)
Quantile-Quantile Plots
Description
Produce standard quantile-quantile plots for modeling using ggplot2.
Usage
qq_plot(
  x,
  distribution = "norm",
  ...,
  line.estimate = NULL,
  conf = 0.95,
  labels = names(x)
)
Arguments
| x | A numeric vector of residuals from a generalized linear model. | 
| distribution | The reference probability distribution for residuals. | 
| ... | Any additional parameters to be passed to distribution functions. | 
| line.estimate | Should quantiles be estimated, if so which quantiles? | 
| conf | The confidence level to be used with confidence intervals. | 
| labels | The names to be used when identifying points on the Q-Q plot. | 
Examples
n <- 100
x1 <- rnorm(n)
y1 <- rnorm(n)
linmod <- lm(y1 ~ x1)
x <- linmod$residuals
qq_plot(x)
Nima's ggplot2 theme - supplement: scale_color
Description
Nima's ggplot2 theme scale_color supplement: colors optimized via ColorBrewer
Usage
scale_color_nima(...)
Arguments
| ... | Passed to  | 
Nima's ggplot2 theme - supplement: scale_fill
Description
Nima's ggplot2 theme scale_fill supplement: colors optimized via ColorBrewer
Usage
scale_fill_nima(...)
Arguments
| ... | Passed to  | 
Visualize Summaries of Simulation Results
Description
Visualize Summaries of Simulation Results
Usage
sim_plot(x, ..., sample_sizes, stat = c("bias", "mc_var", "mse"))
Arguments
| x | A  | 
| ... | Extra arguments currently ignored. | 
| sample_sizes | A  | 
| stat | A  | 
Examples
n_sim <- 100
n_obs <- c(100, 10000)
mu <- 2
sim_results <- lapply(n_obs, function(sample_size) {
  estimator_sim <- lapply(seq_len(n_sim), function(iter) {
    y_obs <- rnorm(sample_size, mu)
    est_param <- mean(y_obs)
    est_var <- var(y_obs)
    estimate <- tibble::as_tibble(list(
      param_est = est_param,
      param_var = est_var
    ))
    return(estimate)
  })
  estimates <- do.call(rbind, estimator_sim)
  return(estimates)
})
sim_summary <- lapply(sim_results, summarize_sim, truth = mu)
p_sim_summary <- sim_plot(sim_summary, sample_sizes = n_obs, stat = "mse")
p_sim_summary
Summarize Simulations Results
Description
Summarize Simulations Results
Usage
summarize_sim(simulation_results, truth, ci_level = 0.95)
Arguments
| simulation_results | A  | 
| truth | A  | 
| ci_level | A  | 
Examples
n_sim <- 1000
n_obs <- c(100, 10000)
mu <- 2
sim_results <- lapply(n_obs, function(sample_size) {
  estimator_sim <- lapply(seq_len(n_sim), function(iter) {
    y_obs <- rnorm(sample_size, mu)
    est_param <- mean(y_obs)
    est_var <- var(y_obs) / sample_size
    estimate <- tibble::as_tibble(list(
      param_est = est_param,
      param_var = est_var
    ))
    return(estimate)
  })
  estimates <- do.call(rbind, estimator_sim)
  return(estimates)
})
sim_summary <- lapply(sim_results, summarize_sim, truth = mu)
A jet black theme with inverted colors
Description
A jet black theme with inverted colors
Usage
theme_jetblack(base_size = 12, base_family = "")
Arguments
| base_size | Base font size | 
| base_family | Base font family | 
Value
An object as returned by theme
See Also
Examples
library(ggplot2)
p <- ggplot(mtcars, aes(y = mpg, x = disp, color = factor(cyl)))
p <- p + geom_point() + theme_jetblack()
p
Nima's plotting theme
Description
Nima's ggplot2 theme: white background, colors optimized
Usage
theme_nima(base_size = 14, base_family = "Helvetica")
nima_theme(base_size = 14, base_family = "Helvetica")
Arguments
| base_size | Base font size | 
| base_family | Base font family | 
Value
An object as returned by theme
See Also
Examples
library(ggplot2)
p <- ggplot(mtcars, aes(y = mpg, x = disp, color = factor(cyl)))
p <- p + geom_point() + scale_fill_nima() + scale_color_nima()
p <- p + theme_nima()
p
Find Number of Unique Values
Description
Get the number of unique values in an input vector.
Usage
uniqlen(vec, na.rm = TRUE)
Arguments
| vec | A vector of any type. | 
| na.rm | If  | 
Value
Number of unique values.
Examples
x <- c(1, 3, 1, 1, NA, 2, 2, 3, NA, NA, 1, 3, 1)
uniqlen(x)
uniqlen(x, na.rm = FALSE)