library(tidyverse)
library(Hmisc)
library(haven)

gss <- read_dta("gss_2002_week2.dta")
View(gss)
gss.clean <- gss %>%
  mutate(.,
         male.fac = as_factor(male),
         selfemp.fac = as_factor(selfemp),
        ses_level.fac = as_factor(selfemp))
linearmodel1 <- lm(hrs1 ~ male + age + selfemp + educ, data = gss.clean)
summary(linearmodel1)

Call:
lm(formula = hrs1 ~ male + age + selfemp + educ, data = gss.clean)

Residuals:
    Min      1Q  Median      3Q     Max 
-46.510  -6.214   0.257   5.788  51.444 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 34.83148    2.05585  16.943  < 2e-16 ***
male         6.52371    0.68547   9.517  < 2e-16 ***
age         -0.06822    0.02702  -2.524   0.0117 *  
selfemp     -1.13306    1.03459  -1.095   0.2736    
educ         0.48698    0.12469   3.905 9.77e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 14.18 on 1712 degrees of freedom
  (1048 observations deleted due to missingness)
Multiple R-squared:  0.0608,    Adjusted R-squared:  0.05861 
F-statistic: 27.71 on 4 and 1712 DF,  p-value: < 2.2e-16
library(reghelper)
lm1.beta <- beta(linearmodel1)
lm1.beta

Call:
lm(formula = "hrs1.z ~ male.z + age.z + selfemp.z + educ.z", 
    data = data)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1834 -0.4253  0.0176  0.3961  3.5211 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  3.230e-16  2.342e-02   0.000   1.0000    
male.z       2.233e-01  2.346e-02   9.517  < 2e-16 ***
age.z       -6.022e-02  2.385e-02  -2.524   0.0117 *  
selfemp.z   -2.613e-02  2.386e-02  -1.095   0.2736    
educ.z       9.164e-02  2.347e-02   3.905 9.77e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9703 on 1712 degrees of freedom
Multiple R-squared:  0.0608,    Adjusted R-squared:  0.05861 
F-statistic: 27.71 on 4 and 1712 DF,  p-value: < 2.2e-16
anova1 <- aov(hrs1 ~ ses_level.fac, data=gss.clean)
summary(anova1)
                Df Sum Sq Mean Sq F value Pr(>F)
ses_level.fac    1    240   240.1   1.124  0.289
Residuals     1726 368599   213.6               
1037 observations deleted due to missingness
gss.clean %>%
  group_by(ses_level.fac) %>%
  summarise(n = n(), mean = mean(hrs1))
`summarise()` ungrouping output (override with `.groups` argument)
pairwise.t.test(gss.clean$hrs1, gss.clean$ses_level.fac, p.adjust.method = "bonf")

    Pairwise comparisons using t tests with pooled SD 

data:  gss.clean$hrs1 and gss.clean$ses_level.fac 

             self-employed
someone else 0.29         

P value adjustment method: bonferroni 
LS0tDQp0aXRsZTogIk1vZHVsZSAyIENvbnRlbnQgUmV2aWV3Ig0KYXV0aG9yOiAiSmFrZSBSZXlub2xkcyINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCg0KYGBge3J9DQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkoSG1pc2MpDQpsaWJyYXJ5KGhhdmVuKQ0KDQoNCmdzcyA8LSByZWFkX2R0YSgiZ3NzXzIwMDJfd2VlazIuZHRhIikNClZpZXcoZ3NzKQ0KDQpgYGANCg0KYGBge3J9DQpnc3MuY2xlYW4gPC0gZ3NzICU+JQ0KICBtdXRhdGUoLiwNCiAgICAgICAgIG1hbGUuZmFjID0gYXNfZmFjdG9yKG1hbGUpLA0KICAgICAgICAgc2VsZmVtcC5mYWMgPSBhc19mYWN0b3Ioc2VsZmVtcCksDQogICAgICAgIHNlc19sZXZlbC5mYWMgPSBhc19mYWN0b3Ioc2VsZmVtcCkpDQpgYGANCg0KYGBge3J9DQpsaW5lYXJtb2RlbDEgPC0gbG0oaHJzMSB+IG1hbGUgKyBhZ2UgKyBzZWxmZW1wICsgZWR1YywgZGF0YSA9IGdzcy5jbGVhbikNCnN1bW1hcnkobGluZWFybW9kZWwxKQ0KYGBgDQpgYGB7cn0NCmxpYnJhcnkocmVnaGVscGVyKQ0KbG0xLmJldGEgPC0gYmV0YShsaW5lYXJtb2RlbDEpDQpsbTEuYmV0YQ0KYGBgDQpgYGB7cn0NCmFub3ZhMSA8LSBhb3YoaHJzMSB+IHNlc19sZXZlbC5mYWMsIGRhdGE9Z3NzLmNsZWFuKQ0Kc3VtbWFyeShhbm92YTEpDQpgYGANCmBgYHtyfQ0KZ3NzLmNsZWFuICU+JQ0KICBncm91cF9ieShzZXNfbGV2ZWwuZmFjKSAlPiUNCiAgc3VtbWFyaXNlKG4gPSBuKCksIG1lYW4gPSBtZWFuKGhyczEpKQ0KYGBgDQoNCmBgYHtyfQ0KcGFpcndpc2UudC50ZXN0KGdzcy5jbGVhbiRocnMxLCBnc3MuY2xlYW4kc2VzX2xldmVsLmZhYywgcC5hZGp1c3QubWV0aG9kID0gImJvbmYiKQ0KYGBgDQoNCg==