univariate_regression: Perform Univariate Linear Regression Separately for Columns... In susieR: Sum of Single Effects Linear Regression

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.