Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
warning = FALSE,
message = FALSE
)
## -----------------------------------------------------------------------------
library(matrixCorr)
set.seed(20)
Y <- data.frame(
x1 = rnorm(60),
x2 = rnorm(60),
x3 = rnorm(60),
x4 = rnorm(60)
)
idx <- sample.int(nrow(Y), 5)
Y$x1[idx] <- Y$x1[idx] + 8
Y$x2[idx] <- Y$x2[idx] - 6
R_pear <- pearson_corr(Y)
R_bicor <- bicor(Y)
R_pb <- pbcor(Y)
R_win <- wincor(Y)
R_skip <- skipped_corr(Y)
summary(R_pear)
summary(R_bicor)
## -----------------------------------------------------------------------------
summary(R_skip)
## -----------------------------------------------------------------------------
fit_bicor_ci <- bicor(Y, ci = TRUE)
summary(fit_bicor_ci)
fit_pb_inf <- pbcor(Y, ci = TRUE, p_value = TRUE, n_boot = 200, seed = 1)
summary(fit_pb_inf)
fit_win_inf <- wincor(Y, ci = TRUE, p_value = TRUE, n_boot = 200, seed = 1)
summary(fit_win_inf)
fit_skip_inf <- skipped_corr(Y, ci = TRUE, p_value = TRUE, n_boot = 200, seed = 1)
summary(fit_skip_inf)
## -----------------------------------------------------------------------------
set.seed(21)
n <- 300
x2 <- rnorm(n)
x1 <- 0.8 * x2 + rnorm(n, sd = 0.4)
x3 <- 0.8 * x2 + rnorm(n, sd = 0.4)
x4 <- 0.7 * x3 + rnorm(n, sd = 0.5)
x5 <- rnorm(n)
x6 <- rnorm(n)
X <- data.frame(x1, x2, x3, x4, x5, x6)
fit_pcor_sample <- pcorr(X, method = "sample")
fit_pcor_oas <- pcorr(X, method = "oas")
R_raw <- pearson_corr(X)
round(c(
raw_x1_x3 = R_raw["x1", "x3"],
partial_x1_x3 = fit_pcor_sample$pcor["x1", "x3"]
), 2)
print(fit_pcor_sample, digits = 2)
summary(fit_pcor_oas)
## -----------------------------------------------------------------------------
fit_pcor_inf <- pcorr(
X,
method = "sample",
return_p_value = TRUE,
ci = TRUE
)
summary(fit_pcor_inf)
## -----------------------------------------------------------------------------
set.seed(22)
n <- 40
p_block <- 30
make_block <- function(f) {
sapply(seq_len(p_block), function(j) 0.8 * f + rnorm(n, sd = 0.8))
}
f1 <- rnorm(n)
f2 <- rnorm(n)
f3 <- rnorm(n)
Xd <- cbind(make_block(f1), make_block(f2), make_block(f3))
p <- ncol(Xd)
colnames(Xd) <- paste0("G", seq_len(p))
R_raw <- stats::cor(Xd)
fit_shr <- shrinkage_corr(Xd)
block <- rep(1:3, each = p_block)
within <- outer(block, block, "==") & upper.tri(R_raw)
between <- outer(block, block, "!=") & upper.tri(R_raw)
round(c(
raw_within = mean(abs(R_raw[within])),
raw_between = mean(abs(R_raw[between])),
shrink_within = mean(abs(fit_shr[within])),
shrink_between = mean(abs(fit_shr[between]))
), 3)
print(fit_shr, digits = 2, max_rows = 6, max_vars = 6)
summary(fit_shr)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.