Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Extract Regression P Value in R

I am performing multiple regressions on different columns in a query file. I've been tasked with extracting certain results from the regression function lm in R.

So far I have,

> reg <- lm(query$y1 ~ query$x1 + query$x2)
> summary(reg)

Call:
lm(formula = query$y1 ~ query$x1 + query$x2)

Residuals:
    1     2     3     4 
  7.68 -4.48 -7.04  3.84 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)
(Intercept)  1287.26     685.75   1.877    0.312
query$x1      -29.30      20.92  -1.400    0.395
query$x2     -116.90      45.79  -2.553    0.238

Residual standard error: 11.97 on 1 degrees of freedom
Multiple R-squared:  0.9233,    Adjusted R-squared:  0.7699 
F-statistic: 6.019 on 2 and 1 DF,  p-value: 0.277

To extract the coefficients, r-squared and F statistics I use the following:

reg$coefficients
summary(reg)$r.squared
summary(reg)$fstatistic

I would like to also extract the p-value of 0.277.

Is there a piece of code that could do this?

Thanks

like image 477
Harmzy15 Avatar asked Jul 22 '15 17:07

Harmzy15


People also ask

What is T value in regression in R?

The coefficient t-value is a measure of how many standard deviations our coefficient estimate is far away from 0. We want it to be far away from zero as this would indicate we could reject the null hypothesis - that is, we could declare a relationship between speed and distance exist.

How do you find p-value in regression?

For simple regression, the p-value is determined using a t distribution with n − 2 degrees of freedom (df), which is written as t n − 2 , and is calculated as 2 × area past |t| under a t n − 2 curve. In this example, df = 30 − 2 = 28.

What is p-value in linear regression in R?

The P-value is a statistical number to conclude if there is a relationship between Average_Pulse and Calorie_Burnage. We test if the true value of the coefficient is equal to zero (no relationship).

Does regression give p-value?

The P-Value as you know provides probability of the hypothesis test,So in a regression model the P-Value for each independent variable tests the Null Hypothesis that there is “No Correlation” between the independent and the dependent variable,this also helps to determine the relationship observed in the sample also ...


2 Answers

I would recommend using the "broom" package as a good practice to go forward with those cases (where you might need to create a data frame from a model fit output).

Check this as a simple example:

library(broom)

dt = data.frame(mtcars) # example dataset

model = lm(mpg ~ disp + wt, data = dt) # fit a model

summary(model) # usual summary of a model fit

tidy(model) # get coefficient table as a data frame

glance(model) # get rest of stats as a data frame

glance(model)$p.value # get p value
like image 86
AntoniosK Avatar answered Sep 21 '22 19:09

AntoniosK


The two easiest ways I've found for extracting the p-value are:

summary(Model)$coefficients[,"Pr(>|t|)"][2]

summary(Model)$coefficients[2,4]

Just replace "Model" with the name of your model

like image 39
Thomas Van Der Weide Avatar answered Sep 24 '22 19:09

Thomas Van Der Weide