Rex regression value in R
I am performing multiple regressions on different columns in a query file. I was tasked with extracting certain results from the lm regression function in R.
Until now I,
> 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 extract a p-value of 0.277 as well.
Is there a piece of code that can do this?
thank
+3
source to share
3 answers
I would recommend using the "broom" package as a good practice to move forward on these cases (where you may need to create a dataframe from the model output file).
Check it out 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
+5
source to share