univariate_regression: Perform Univariate Linear Regression Separately for Columns...

Description Usage Arguments Value Examples

Description

This function performs the univariate linear regression y ~ x separately for each column x of X. Each regression is implemented using .lm.fit(). The estimated effect size and stardard error for each variable are outputted.

Usage

1
2
3
4
5
6
7
8
univariate_regression(
  X,
  y,
  Z = NULL,
  center = TRUE,
  scale = FALSE,
  return_residuals = FALSE
)

Arguments

X

n by p matrix of regressors.

y

n-vector of response variables.

Z

Optional n by k matrix of covariates to be included in all regresions. If Z is not NULL, the linear effects of covariates are removed from y first, and the resulting residuals are used in place of y.

center

If center = TRUE, center X, y and Z.

scale

If scale = TRUE, scale X, y and Z.

return_residuals

Whether or not to output the residuals if Z is not NULL.

Value

A list with two vectors containing the least-squares estimates of the coefficients (betahat) and their standard errors (sebetahat). Optionally, and only when a matrix of covariates Z is provided, a third vector residuals containing the residuals is returned.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
set.seed(1)
n = 1000
p = 1000
beta = rep(0,p)
beta[1:4] = 1
X = matrix(rnorm(n*p),nrow = n,ncol = p)
X = scale(X,center = TRUE,scale = TRUE)
y = drop(X %*% beta + rnorm(n))
res = univariate_regression(X,y)
plot(res$betahat/res$sebetahat)

susieR documentation built on Nov. 12, 2021, 5:07 p.m.