#
dta <- read.csv("data0505.csv", header = T)
options(digits = 3)
pacman::p_load(tidyverse, ggplot2, knitr, broom, car)
dta <- dta %>% mutate( Gender = relevel(Gender, ref = "女"),
Sector = relevel(Sector, ref = "私立"),
Field = relevel(Field, ref = "大眾傳播學群"),
EduLv = factor(EduLv, levels=c("博士","碩士","普通大學","科技大學",
"技術學院","五專","三專",
"二專","高中","高職","國中")),
EduLv = relevel(EduLv, ref = "技術學院"),
Region = factor(Region, levels =c("宜花東離島","北北基","桃竹苗",
"中彰投","雲嘉南","高屏澎")),
Age = as.numeric(Age),
J_year = as.numeric(J_year),
JobZone = as.numeric(JobZone),
EduZone = as.numeric(EduZone),
JobZone_D = as.numeric(EduZone-JobZone),
Salary = as.numeric(Salary),
SubEduOver = relevel(SubEduOver, ref="符合工作要求"),
Core = recode_factor(as.factor(JobCor), "1" = "無關聯",
"2" = "部分關聯",
"3" = "核心關聯"),
SubEduOver = factor(SubEduOver,levels =c("符合工作要求","高於工作要求","低於工作要求")))
# data construction
glimpse(dta)
## Observations: 1,571
## Variables: 26
## $ SID <fctr> A1, A10, A100, A102, A103, A104, A105, A106, A107...
## $ Gender <fctr> 女, 女, 女, 女, 男, 女, 女, 女, 女, 女, 女, 男, 男, 男, 女, 男, 男...
## $ Sector <fctr> 國立(公立), 國立(公立), 私立, 國立(公立), 國立(公立), 國立(公立), 國立(公立...
## $ EduLv <fctr> 碩士, 碩士, 普通大學, 普通大學, 高職, 普通大學, 普通大學, 普通大學, 普通大學, 普...
## $ SubEduOver <fctr> 符合工作要求, 高於工作要求, 符合工作要求, 符合工作要求, 符合工作要求, 符合工作要求, 符...
## $ Require <fctr> 碩士, 高中/高職, 普通大學, 普通大學, 高中/高職, 普通大學, 普通大學, 普通大學, 普...
## $ Field <fctr> 教育學群, 資訊學群, 外語學群, 教育學群, 工程學群, 文史哲學群, 文史哲學群, 大眾傳播學...
## $ City <fctr> 臺南市, 高雄市, 苗栗縣, 新北市, 高雄市, 南投縣, 嘉義市, 臺北市, 臺北市, 南投縣,...
## $ Category <fctr> 受雇於公營機關, 受雇於公營機關, 受雇於公營機關, 受雇於公營機關, 受雇者於私營企業, 受雇於...
## $ Staff <fctr> 10-29人, 50-99人, 50-99人, 10-29人, 2-9人, 100-199人, 1...
## $ Hours <int> 48, 40, 70, 50, 57, 51, 64, 50, 50, 47, 50, 60, 45...
## $ J_year <dbl> 2, 8, 4, 1, 21, 1, 6, 0, 1, 1, 17, 7, 3, 23, 1, 2,...
## $ J_total <dbl> 2, 8, 4, 1, 30, 1, 6, 0, 2, 2, 28, 7, 30, 26, 1, 1...
## $ income <fctr> 2萬以下, 2-3萬以下, 3-4萬以下, 4-5萬以下, 3-4萬以下, 4-5萬以下, 2萬以...
## $ SubMismatch <int> 4, 2, 3, 4, 5, 4, 5, 4, 3, 3, 4, 4, 4, 4, 5, 5, 3,...
## $ JobSat <int> 6, 4, 3, 5, 5, 6, 7, 5, 3, 6, 3, 5, 4, 7, 3, 4, 4,...
## $ EduZone <dbl> 5, 5, 4, 4, 2, 4, 4, 4, 4, 4, 5, 5, 3, 5, 4, 4, 4,...
## $ Region <fctr> 雲嘉南, 高屏澎, 桃竹苗, 北北基, 高屏澎, 中彰投, 雲嘉南, 北北基, 北北基, 中彰投,...
## $ Salary <dbl> 20000, 25000, 35000, 45000, 35000, 45000, 20000, 3...
## $ Age <dbl> 26, 34, 30, 25, 62, 25, 21, 24, 25, 26, 57, 35, 54...
## $ JobZone <dbl> 4, 3, 4, 4, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 4, 4, 3,...
## $ JobCor <int> 3, 1, 2, 3, 1, 2, 1, 3, 1, 1, 1, 3, 1, 1, 3, 1, 3,...
## $ Core <fctr> 核心關聯, 無關聯, 部分關聯, 核心關聯, 無關聯, 部分關聯, 無關聯, 核心關聯, 無關聯,...
## $ ObjOver <fctr> over, over, adequate, adequate, under, adequate, ...
## $ X <int> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA...
## $ JobZone_D <dbl> 1, 2, 0, 0, -1, 0, 0, 0, 0, 0, 1, 1, -1, 0, 0, 0, ...
# check and pick out
lapply(dta[,c("Sector", "Field", "City", "Region","EduLv", "SubEduOver", "ObjOver")], levels)
## $Sector
## [1] "私立" "國外學校" "國立(公立)"
##
## $Field
## [1] "大眾傳播學群" "工程學群" "文史哲學群" "外語學群"
## [5] "生命科學學群" "生物資源學群" "地球與環境學群" "法政學群"
## [9] "社會與心理學群" "建築與設計學群" "財經學群" "教育學群"
## [13] "資訊學群" "遊憩與運動學群" "管理學群" "數理化學群"
## [17] "醫藥衛生學群" "藝術學群"
##
## $City
## [1] "宜蘭縣" "花蓮縣" "金門縣" "南投縣" "屏東縣" "苗栗縣" "桃園市"
## [8] "高雄市" "基隆市" "雲林縣" "新北市" "新竹市" "新竹縣" "嘉義市"
## [15] "嘉義縣" "彰化縣" "臺中市" "臺北市" "臺東縣" "臺南市" "澎湖縣"
##
## $Region
## [1] "宜花東離島" "北北基" "桃竹苗" "中彰投" "雲嘉南"
## [6] "高屏澎"
##
## $EduLv
## [1] "技術學院" "博士" "碩士" "普通大學" "科技大學" "五專"
## [7] "三專" "二專" "高中" "高職" "國中"
##
## $SubEduOver
## [1] "符合工作要求" "高於工作要求" "低於工作要求"
##
## $ObjOver
## [1] "adequate" "over" "under"
# pick out
names(dta)
## [1] "SID" "Gender" "Sector" "EduLv" "SubEduOver"
## [6] "Require" "Field" "City" "Category" "Staff"
## [11] "Hours" "J_year" "J_total" "income" "SubMismatch"
## [16] "JobSat" "EduZone" "Region" "Salary" "Age"
## [21] "JobZone" "JobCor" "Core" "ObjOver" "X"
## [26] "JobZone_D"
p <- dplyr::select(dta, -City, -income, -JobSat, -X)%>%
filter(Age <= 65 & Age >= 20 & Category != "自營者" )
p <- p[p$EduLv %in% c("博士","碩士", "普通大學", "科技大學", "技術學院"),]
p <- p %>% mutate( EduLv = factor(EduLv, levels=c("博士","碩士","普通大學","科技大學",
"技術學院")),
EduLv = relevel(EduLv, ref = "技術學院"),
Category = factor(Category,levels=c("受雇者於私營企業","受雇於公營機關")))
#
# Fit the null model
null <- lm(Salary ~1, data= p)
#
# 最終模型設定
# 薪資對性別 / 公私立.教育程度.學群
a2 <- update(null,~.+Gender+Sector+ EduLv+ Field)
summary(a2)
##
## Call:
## lm(formula = Salary ~ Gender + Sector + EduLv + Field, data = p)
##
## Residuals:
## Min 1Q Median 3Q Max
## -45782 -11390 -2831 6618 236352
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 30004 4882 6.15 1.0e-09 ***
## Gender男 8117 1364 5.95 3.4e-09 ***
## Sector國外學校 12708 4736 2.68 0.00738 **
## Sector國立(公立) 2718 1393 1.95 0.05129 .
## EduLv博士 24082 8204 2.94 0.00339 **
## EduLv碩士 16494 3757 4.39 1.2e-05 ***
## EduLv普通大學 2517 3664 0.69 0.49220
## EduLv科技大學 -4595 3762 -1.22 0.22212
## Field工程學群 13449 3784 3.55 0.00039 ***
## Field文史哲學群 718 4115 0.17 0.86155
## Field外語學群 7378 4159 1.77 0.07627 .
## Field生命科學學群 992 5007 0.20 0.84298
## Field生物資源學群 -382 5772 -0.07 0.94731
## Field地球與環境學群 2157 5690 0.38 0.70465
## Field法政學群 1822 4332 0.42 0.67405
## Field社會與心理學群 1151 3831 0.30 0.76394
## Field建築與設計學群 6315 4590 1.38 0.16913
## Field財經學群 5310 3954 1.34 0.17948
## Field教育學群 3143 4035 0.78 0.43621
## Field資訊學群 8383 3961 2.12 0.03451 *
## Field遊憩與運動學群 4404 5268 0.84 0.40328
## Field管理學群 1066 3812 0.28 0.77981
## Field數理化學群 4811 4418 1.09 0.27641
## Field醫藥衛生學群 14381 3968 3.62 0.00030 ***
## Field藝術學群 -3264 5065 -0.64 0.51944
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 21800 on 1402 degrees of freedom
## Multiple R-squared: 0.225, Adjusted R-squared: 0.212
## F-statistic: 16.9 on 24 and 1402 DF, p-value: <2e-16
# 薪資對性別 / 公私立.教育程度.學群 / 總年資.工時
a3 <- update(null,~.+Gender+Sector+ EduLv+ Field +J_total+ Hours)
summary(a3)
##
## Call:
## lm(formula = Salary ~ Gender + Sector + EduLv + Field + J_total +
## Hours, data = p)
##
## Residuals:
## Min 1Q Median 3Q Max
## -44251 -10656 -1908 6512 228754
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 12353.0 5418.8 2.28 0.02278 *
## Gender男 7516.2 1300.0 5.78 9.1e-09 ***
## Sector國外學校 11565.2 4510.7 2.56 0.01045 *
## Sector國立(公立) 3985.3 1331.1 2.99 0.00280 **
## EduLv博士 14533.0 7851.6 1.85 0.06439 .
## EduLv碩士 18336.9 3584.5 5.12 3.6e-07 ***
## EduLv普通大學 6515.4 3506.5 1.86 0.06337 .
## EduLv科技大學 -1753.4 3590.5 -0.49 0.62539
## Field工程學群 12509.5 3606.8 3.47 0.00054 ***
## Field文史哲學群 -2774.8 3927.8 -0.71 0.48003
## Field外語學群 3389.4 3973.1 0.85 0.39376
## Field生命科學學群 412.2 4768.0 0.09 0.93112
## Field生物資源學群 700.5 5495.8 0.13 0.89859
## Field地球與環境學群 -2322.9 5432.2 -0.43 0.66900
## Field法政學群 243.9 4127.0 0.06 0.95288
## Field社會與心理學群 -176.9 3648.7 -0.05 0.96134
## Field建築與設計學群 4162.3 4377.6 0.95 0.34186
## Field財經學群 3110.3 3768.5 0.83 0.40932
## Field教育學群 444.0 3848.5 0.12 0.90817
## Field資訊學群 7456.4 3772.0 1.98 0.04826 *
## Field遊憩與運動學群 2938.1 5016.7 0.59 0.55820
## Field管理學群 -1090.9 3634.4 -0.30 0.76409
## Field數理化學群 3339.4 4207.9 0.79 0.42756
## Field醫藥衛生學群 11387.5 3787.8 3.01 0.00269 **
## Field藝術學群 -4904.9 4824.3 -1.02 0.30946
## J_total 1142.8 96.6 11.82 < 2e-16 ***
## Hours 192.3 59.1 3.25 0.00117 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 20800 on 1400 degrees of freedom
## Multiple R-squared: 0.298, Adjusted R-squared: 0.285
## F-statistic: 22.9 on 26 and 1400 DF, p-value: <2e-16
# 薪資對性別 / 公私立.教育程度.學群 / 地區.年資.工時 / 自評過量.自評關聯
a42 <- update(null,~.+Gender+Sector+ EduLv+ Field +J_total+ Hours+ SubEduOver+SubMismatch)
summary(a42)
##
## Call:
## lm(formula = Salary ~ Gender + Sector + EduLv + Field + J_total +
## Hours + SubEduOver + SubMismatch, data = p)
##
## Residuals:
## Min 1Q Median 3Q Max
## -46599 -10440 -1663 6165 222638
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 10870.1 5518.0 1.97 0.04904 *
## Gender男 8258.7 1273.5 6.49 1.2e-10 ***
## Sector國外學校 14405.1 4415.5 3.26 0.00113 **
## Sector國立(公立) 3579.8 1305.7 2.74 0.00619 **
## EduLv博士 10508.2 7701.9 1.36 0.17267
## EduLv碩士 17625.8 3514.9 5.01 6.0e-07 ***
## EduLv普通大學 5958.9 3422.4 1.74 0.08188 .
## EduLv科技大學 -2127.5 3505.8 -0.61 0.54405
## Field工程學群 12227.8 3531.3 3.46 0.00055 ***
## Field文史哲學群 -2813.6 3841.3 -0.73 0.46402
## Field外語學群 3432.7 3881.4 0.88 0.37663
## Field生命科學學群 2844.8 4668.4 0.61 0.54238
## Field生物資源學群 1227.9 5378.8 0.23 0.81946
## Field地球與環境學群 -1465.6 5318.9 -0.28 0.78293
## Field法政學群 1314.1 4033.4 0.33 0.74463
## Field社會與心理學群 -1550.7 3567.5 -0.43 0.66386
## Field建築與設計學群 4584.5 4276.2 1.07 0.28386
## Field財經學群 2288.5 3679.3 0.62 0.53406
## Field教育學群 -1215.4 3772.8 -0.32 0.74740
## Field資訊學群 7057.9 3695.0 1.91 0.05632 .
## Field遊憩與運動學群 1796.7 4909.5 0.37 0.71445
## Field管理學群 -149.3 3555.5 -0.04 0.96651
## Field數理化學群 3238.5 4113.5 0.79 0.43124
## Field醫藥衛生學群 10143.9 3711.3 2.73 0.00635 **
## Field藝術學群 -4011.1 4714.9 -0.85 0.39506
## J_total 1085.4 94.8 11.45 < 2e-16 ***
## Hours 214.6 57.8 3.71 0.00021 ***
## SubEduOver高於工作要求 -8703.4 1447.8 -6.01 2.3e-09 ***
## SubEduOver低於工作要求 -8201.7 1886.1 -4.35 1.5e-05 ***
## SubMismatch 1313.9 488.3 2.69 0.00721 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 20300 on 1397 degrees of freedom
## Multiple R-squared: 0.333, Adjusted R-squared: 0.319
## F-statistic: 24.1 on 29 and 1397 DF, p-value: <2e-16
# 薪資對性別 / 公私立.教育程度.學群 / 地區.年資.工時 / 客評過量.客評關聯
a52 <- update(null,~.+Gender+Sector+ EduLv+ Field +J_total+ Hours+ ObjOver+ Core)
summary(a52)
##
## Call:
## lm(formula = Salary ~ Gender + Sector + EduLv + Field + J_total +
## Hours + ObjOver + Core, data = p)
##
## Residuals:
## Min 1Q Median 3Q Max
## -48111 -10540 -1899 6762 231936
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 14284.5 5424.3 2.63 0.00855 **
## Gender男 7374.7 1285.2 5.74 1.2e-08 ***
## Sector國外學校 11294.7 4458.7 2.53 0.01141 *
## Sector國立(公立) 3699.3 1319.2 2.80 0.00511 **
## EduLv博士 13510.1 7762.4 1.74 0.08200 .
## EduLv碩士 19096.8 3565.0 5.36 9.9e-08 ***
## EduLv普通大學 5437.6 3467.5 1.57 0.11707
## EduLv科技大學 -2623.2 3544.9 -0.74 0.45944
## Field工程學群 13073.2 3582.6 3.65 0.00027 ***
## Field文史哲學群 -3459.0 3913.2 -0.88 0.37688
## Field外語學群 3751.9 3963.4 0.95 0.34398
## Field生命科學學群 2186.2 4728.9 0.46 0.64394
## Field生物資源學群 2322.3 5447.3 0.43 0.66994
## Field地球與環境學群 -3039.1 5389.8 -0.56 0.57294
## Field法政學群 1361.4 4126.3 0.33 0.74151
## Field社會與心理學群 -1650.2 3663.9 -0.45 0.65249
## Field建築與設計學群 3625.8 4328.5 0.84 0.40237
## Field財經學群 3880.6 3739.8 1.04 0.29962
## Field教育學群 -882.1 3828.3 -0.23 0.81780
## Field資訊學群 6499.1 3744.2 1.74 0.08282 .
## Field遊憩與運動學群 4167.1 4963.9 0.84 0.40135
## Field管理學群 -252.1 3624.3 -0.07 0.94456
## Field數理化學群 3684.0 4160.3 0.89 0.37603
## Field醫藥衛生學群 9978.1 3817.5 2.61 0.00905 **
## Field藝術學群 -5442.3 4768.3 -1.14 0.25391
## J_total 1149.4 96.2 11.95 < 2e-16 ***
## Hours 184.2 58.4 3.15 0.00164 **
## ObjOverover -4406.5 1375.2 -3.20 0.00139 **
## ObjOverunder 4641.1 2980.2 1.56 0.11962
## Core部分關聯 5724.5 1705.6 3.36 0.00081 ***
## Core核心關聯 4115.6 1420.9 2.90 0.00383 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 20500 on 1396 degrees of freedom
## Multiple R-squared: 0.319, Adjusted R-squared: 0.304
## F-statistic: 21.8 on 30 and 1396 DF, p-value: <2e-16
# 薪資對性別 / 公私立.教育程度.學群 / 地區.年資.工時 / 自評過量.客評關聯
a6 <- update(null,~.+Gender+Sector+ EduLv+ Field +J_total+ Hours+ SubEduOver+ Core)
summary(a6)
##
## Call:
## lm(formula = Salary ~ Gender + Sector + EduLv + Field + J_total +
## Hours + SubEduOver + Core, data = p)
##
## Residuals:
## Min 1Q Median 3Q Max
## -50581 -10441 -1786 6473 226962
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 13828.6 5294.9 2.61 0.00911 **
## Gender男 8105.2 1268.3 6.39 2.2e-10 ***
## Sector國外學校 14502.1 4403.9 3.29 0.00102 **
## Sector國立(公立) 3647.1 1302.2 2.80 0.00517 **
## EduLv博士 11046.5 7656.2 1.44 0.14930
## EduLv碩士 17773.3 3495.6 5.08 4.2e-07 ***
## EduLv普通大學 5851.4 3412.9 1.71 0.08666 .
## EduLv科技大學 -2143.5 3495.0 -0.61 0.53978
## Field工程學群 12137.6 3523.7 3.44 0.00059 ***
## Field文史哲學群 -3442.1 3860.4 -0.89 0.37273
## Field外語學群 2961.1 3896.8 0.76 0.44746
## Field生命科學學群 2938.7 4654.2 0.63 0.52788
## Field生物資源學群 468.6 5351.0 0.09 0.93023
## Field地球與環境學群 -1882.0 5329.7 -0.35 0.72406
## Field法政學群 1177.0 4022.5 0.29 0.76986
## Field社會與心理學群 -1688.6 3556.7 -0.47 0.63503
## Field建築與設計學群 3976.9 4270.0 0.93 0.35183
## Field財經學群 2255.0 3671.8 0.61 0.53922
## Field教育學群 -2079.3 3776.7 -0.55 0.58203
## Field資訊學群 5977.3 3696.6 1.62 0.10611
## Field遊憩與運動學群 2612.2 4898.3 0.53 0.59392
## Field管理學群 -432.9 3558.3 -0.12 0.90319
## Field數理化學群 3604.8 4102.7 0.88 0.37975
## Field醫藥衛生學群 9379.2 3711.0 2.53 0.01160 *
## Field藝術學群 -4757.0 4706.2 -1.01 0.31228
## J_total 1109.7 95.0 11.68 < 2e-16 ***
## Hours 208.7 57.7 3.62 0.00030 ***
## SubEduOver高於工作要求 -8960.3 1393.0 -6.43 1.7e-10 ***
## SubEduOver低於工作要求 -8854.6 1849.6 -4.79 1.9e-06 ***
## Core部分關聯 5082.7 1683.4 3.02 0.00258 **
## Core核心關聯 4456.1 1355.6 3.29 0.00104 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 20200 on 1396 degrees of freedom
## Multiple R-squared: 0.338, Adjusted R-squared: 0.323
## F-statistic: 23.7 on 30 and 1396 DF, p-value: <2e-16