here::here() [1] "C:/Users/fiona/OneDrive/文件/1142政治所/探索式資料分析"
unlink("C:/Users/fiona/AppData/Local/R/win-library/4.3/00LOCK-insight", recursive = TRUE)請用此指令確認目前工作路徑是現在章節的資料夾
here::here() [1] "C:/Users/fiona/OneDrive/文件/1142政治所/探索式資料分析"
unlink("C:/Users/fiona/AppData/Local/R/win-library/4.3/00LOCK-insight", recursive = TRUE)2016年4月,蘇起先生表示,依數據顯示,中共不會打、美國不會救的狀況(現狀)下,台獨的支持比例是近6成,若是中共不打、美國會來救,台獨支持比例將提高到7成8。「中共會攻打」的因素加進來後,台獨的支持比例立刻腰斬,即便美國會出手救援,台獨的支持比例將會跌破4成。他認為台灣人的有條件支持台獨,中共攻台的因素比美國援台更重要。由於他使用的資料是公開的調查資料,我們來試著用同樣一筆資料試試重製他的發現,並檢證他的說法是否與資料背後的意義一致。
中共攻台與美國援台對於支持台獨傾向是否有影響?
對民眾來說這兩個因素之間是否相互牽制?
假設1:若民眾認知到中共會攻打台灣,會降低支持台獨的可能。
假設2:若民眾認知到美國會救台灣,會增加支持台獨的可能。
假設3:中共攻台的認知具有調節美國援台對支持台獨影響的作用(反之亦然)。
我們使用[“The Taiwan National Security Surveys”(http://sites.duke.edu/pass/data/)](http://sites.duke.edu/pass/data) 來做這一次的實作練習。這個資料為Duke University與政大選舉研究中心合作的研究案資料,受訪對象為台灣地區(不含金門、馬祖)年滿二十歲以上的成年人。抽樣是以「中華電信住宅部103-104年版電話號碼簿」為母體清冊,依據各縣市電話簿所刊電話數佔台灣地區所刊電話總數比例,決定各縣市抽出之電話個數。先以等距抽樣法抽出各縣市電話樣本後,為求完整的涵蓋性,再隨機修正最後二碼及四碼,以求接觸到未登錄電話的住宅戶。電話接通後再由訪員按照戶中抽樣的原則,抽出應受訪的對象進行訪問。調查期間為2015年10月27日至10月30日,以及11月02日和03日,由政治大學選舉研究中心執行。最後完成的有效問卷1,071份。若以百分之九十五之信賴度估計,最大可能抽樣誤差為:±2.99%。
第一步:讀入資料
# 第一步:讀入資料
load("../TNSS2015.rda")
#第二步:依變數編碼及描述
#install.packages("sjmisc")
library(sjmisc)Install package "strengejacke" from GitHub (`devtools::install_github("strengejacke/strengejacke")`) to load all sj-packages at once!
#install.packages("sjPlot",repos = "https://cloud.r-project.org")
library(sjPlot)12.關於臺灣和大陸的關係,有下面幾種不同的看法:
1:儘快(臺:卡緊)統一 ; 2:儘快(臺:卡緊)宣布獨立;
3:維持現狀,以後走向統一; 4:維持現狀,以後走向獨立 ;
5:維持現狀,看情形再決定獨立或統一; 6:永遠維持現狀。
請問您比較偏向那一種?
TNSS2015$Q12n <- rec(TNSS2015$Q12, rec = "2,4,5=1;else=0", as.num = F)
library(sjPlot)
frq(TNSS2015$Q12n, weights = TNSS2015$w) 關於臺灣和大陸的關係,有下面幾種不同的看法,請問您比較偏向那一種? (xw) <categorical>
# total N=1071 valid N=1071 mean=0.58 sd=0.49
Value | N | Raw % | Valid % | Cum. %
--------------------------------------
0 | 450 | 42.02 | 42.02 | 42.02
1 | 621 | 57.98 | 57.98 | 100.00
<NA> | 0 | 0.00 | <NA> | <NA>
frq(rec(TNSS2015$Q12, rec = "2,4,5=1;else=0", as.num = F), weights = TNSS2015$w)關於臺灣和大陸的關係,有下面幾種不同的看法,請問您比較偏向那一種? (xw) <categorical>
# total N=1071 valid N=1071 mean=0.58 sd=0.49
Value | N | Raw % | Valid % | Cum. %
--------------------------------------
0 | 450 | 42.02 | 42.02 | 42.02
1 | 621 | 57.98 | 57.98 | 100.00
<NA> | 0 | 0.00 | <NA> | <NA>
# 條件獨立1:武力犯台
# 13.如果臺灣宣佈獨立會引起大陸攻打(臺:打)臺灣,請問您贊不贊成(臺:咁有贊成)臺灣獨立?【訪員請追問強弱程度】│01. 非常不贊成│ │02.不 贊 成 │ │03. 贊 成 │ │04. 非常贊成│96.看情形 │ │97.無意見│ │98.不知道│ │95.拒 答│
TNSS2015$Q13n <- rec(TNSS2015$Q13, rec = "1,2=0;3,4=1; else=NA", as.num = F)
frq(TNSS2015$Q13n, weights = TNSS2015$w) # 37.3%如果臺灣宣佈獨立會引起大陸攻打臺灣,請問您贊不贊成臺灣獨立? (xw) <categorical>
# total N=912 valid N=912 mean=0.37 sd=0.48
Value | N | Raw % | Valid % | Cum. %
--------------------------------------
0 | 572 | 62.72 | 62.72 | 62.72
1 | 340 | 37.28 | 37.28 | 100.00
<NA> | 0 | 0.00 | <NA> | <NA>
# 條件獨立2: 不會犯台
# 14.那如果臺灣宣佈獨立,而大陸不會攻打(臺:打)臺灣,請問您贊不贊成(臺:咁有贊成)臺灣獨立?【訪員請追問強弱程度】│01. 非常不贊成│ │02. 不 贊 成│ │03. 贊 成│ │04. 非常贊成│96.看情形 │ │97.無意見│ │98.不知道│ │95.拒 答│
TNSS2015$Q14n <- rec(TNSS2015$Q14, rec = "1,2=0;3,4=1; else=NA", as.num = F)
frq(TNSS2015$Q14n, weights = TNSS2015$w) # 78.95%那如果臺灣宣佈獨立,而大陸不會攻打臺灣,請問您贊不贊成臺灣獨立? (xw) <categorical>
# total N=931 valid N=931 mean=0.79 sd=0.41
Value | N | Raw % | Valid % | Cum. %
--------------------------------------
0 | 196 | 21.05 | 21.05 | 21.05
1 | 735 | 78.95 | 78.95 | 100.00
<NA> | 0 | 0.00 | <NA> | <NA>
第三步:資料描述與解讀
見本書正文。
第四步:自變數編碼
TNSS2015$Q27n <- rec(TNSS2015$Q27, rec = "1,2=0;3,4=1;else=NA", as.num = F)
frq(TNSS2015$Q27n, weights = TNSS2015$w) # 60.9% 認知大陸會攻打如果臺灣自行宣佈獨立,請問您認為大陸會不會攻打臺灣? (xw) <categorical>
# total N=929 valid N=929 mean=0.61 sd=0.49
Value | N | Raw % | Valid % | Cum. %
--------------------------------------
0 | 363 | 39.07 | 39.07 | 39.07
1 | 566 | 60.93 | 60.93 | 100.00
<NA> | 0 | 0.00 | <NA> | <NA>
30.如果因為臺灣宣佈獨立,大陸攻打(臺:打)臺灣,請問您認為美國會不會(臺:咁會)出兵幫助臺灣?【訪員請追問強弱程度】01. 一定不會│ │02. 不 會│ │03. 會 │04. 一 定 會 │96. 看 情 形│ │97. 無 意 見│ │98. 不 知 道│ │95. 拒 答│
TNSS2015$Q30n <- rec(TNSS2015$Q30, rec = "1,2=0;3,4=1; else=NA", as.num = F)
frq(TNSS2015$Q30n, weights = TNSS2015$w) # 70.2% 認知美國會救如果因為臺灣宣佈獨立,大陸攻打臺灣,請問您認為美國會不會出兵幫助臺灣? (xw) <categorical>
# total N=900 valid N=900 mean=0.70 sd=0.46
Value | N | Raw % | Valid % | Cum. %
--------------------------------------
0 | 268 | 29.78 | 29.78 | 29.78
1 | 632 | 70.22 | 70.22 | 100.00
<NA> | 0 | 0.00 | <NA> | <NA>
library(gmodels)Warning: package 'gmodels' was built under R version 4.3.3
# 獨立立場 vs. 美國因素
CrossTable(TNSS2015$Q12n,TNSS2015$Q30n,prop.r=TRUE,prop.t=FALSE,prop.c=TRUE,prop.chisq=FALSE,chisq=TRUE)
Cell Contents
|-------------------------|
| N |
| N / Row Total |
| N / Col Total |
|-------------------------|
Total Observations in Table: 916
| TNSS2015$Q30n
TNSS2015$Q12n | 0 | 1 | Row Total |
--------------|-----------|-----------|-----------|
0 | 132 | 228 | 360 |
| 0.367 | 0.633 | 0.393 |
| 0.452 | 0.365 | |
--------------|-----------|-----------|-----------|
1 | 160 | 396 | 556 |
| 0.288 | 0.712 | 0.607 |
| 0.548 | 0.635 | |
--------------|-----------|-----------|-----------|
Column Total | 292 | 624 | 916 |
| 0.319 | 0.681 | |
--------------|-----------|-----------|-----------|
Statistics for All Table Factors
Pearson's Chi-squared test
------------------------------------------------------------
Chi^2 = 6.263614 d.f. = 1 p = 0.01232425
Pearson's Chi-squared test with Yates' continuity correction
------------------------------------------------------------
Chi^2 = 5.905568 d.f. = 1 p = 0.0150931
# 獨立立場 vs. 中共因素
CrossTable(TNSS2015$Q12n,TNSS2015$Q27n,prop.r=TRUE,prop.t=FALSE,prop.c=TRUE,prop.chisq=FALSE,chisq=TRUE)
Cell Contents
|-------------------------|
| N |
| N / Row Total |
| N / Col Total |
|-------------------------|
Total Observations in Table: 942
| TNSS2015$Q27n
TNSS2015$Q12n | 0 | 1 | Row Total |
--------------|-----------|-----------|-----------|
0 | 122 | 244 | 366 |
| 0.333 | 0.667 | 0.389 |
| 0.364 | 0.402 | |
--------------|-----------|-----------|-----------|
1 | 213 | 363 | 576 |
| 0.370 | 0.630 | 0.611 |
| 0.636 | 0.598 | |
--------------|-----------|-----------|-----------|
Column Total | 335 | 607 | 942 |
| 0.356 | 0.644 | |
--------------|-----------|-----------|-----------|
Statistics for All Table Factors
Pearson's Chi-squared test
------------------------------------------------------------
Chi^2 = 1.298119 d.f. = 1 p = 0.254557
Pearson's Chi-squared test with Yates' continuity correction
------------------------------------------------------------
Chi^2 = 1.143896 d.f. = 1 p = 0.2848306
# 美國因素 vs. 中共因素
CrossTable(TNSS2015$Q30n,TNSS2015$Q27n,prop.r=TRUE,prop.t=FALSE,prop.c=TRUE,prop.chisq=FALSE,chisq=TRUE)
Cell Contents
|-------------------------|
| N |
| N / Row Total |
| N / Col Total |
|-------------------------|
Total Observations in Table: 842
| TNSS2015$Q27n
TNSS2015$Q30n | 0 | 1 | Row Total |
--------------|-----------|-----------|-----------|
0 | 72 | 200 | 272 |
| 0.265 | 0.735 | 0.323 |
| 0.240 | 0.369 | |
--------------|-----------|-----------|-----------|
1 | 228 | 342 | 570 |
| 0.400 | 0.600 | 0.677 |
| 0.760 | 0.631 | |
--------------|-----------|-----------|-----------|
Column Total | 300 | 542 | 842 |
| 0.356 | 0.644 | |
--------------|-----------|-----------|-----------|
Statistics for All Table Factors
Pearson's Chi-squared test
------------------------------------------------------------
Chi^2 = 14.6958 d.f. = 1 p = 0.0001263278
Pearson's Chi-squared test with Yates' continuity correction
------------------------------------------------------------
Chi^2 = 14.11181 d.f. = 1 p = 0.0001722588
mod.1 <- glm(Q12n ~ Q27n + Q30n, data=TNSS2015 , family = "binomial")
summary(mod.1)
Call:
glm(formula = Q12n ~ Q27n + Q30n, family = "binomial", data = TNSS2015)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.3176 0.1650 1.925 0.0543 .
Q27n1 -0.1506 0.1504 -1.001 0.3167
Q30n1 0.3428 0.1512 2.267 0.0234 *
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1125.8 on 841 degrees of freedom
Residual deviance: 1119.0 on 839 degrees of freedom
(229 observations deleted due to missingness)
AIC: 1125
Number of Fisher Scoring iterations: 4
mod.2 <- update(mod.1, .~. + Q27n:Q30n)
summary(mod.2)
Call:
glm(formula = Q12n ~ Q27n + Q30n + Q27n:Q30n, family = "binomial",
data = TNSS2015)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) 0.2796 0.2380 1.175 0.240
Q27n1 -0.0991 0.2772 -0.358 0.721
Q30n1 0.3939 0.2762 1.426 0.154
Q27n1:Q30n1 -0.0729 0.3300 -0.221 0.825
(Dispersion parameter for binomial family taken to be 1)
Null deviance: 1125.8 on 841 degrees of freedom
Residual deviance: 1118.9 on 838 degrees of freedom
(229 observations deleted due to missingness)
AIC: 1126.9
Number of Fisher Scoring iterations: 4
library(car)Warning: package 'car' was built under R version 4.3.3
Loading required package: carData
Warning: package 'carData' was built under R version 4.3.2
vif(mod.1) Q27n Q30n
1.016624 1.016624
vif(mod.2)there are higher-order terms (interactions) in this model
consider setting type = 'predictor'; see ?vif
Q27n Q30n Q27n:Q30n
3.450191 3.391598 5.208019
exp(coef(mod.1)) # 印出每個變數的勝算(Intercept) Q27n1 Q30n1
1.3738004 0.8602161 1.4088934
exp(confint(mod.1)) # 印出每個變數的95%信賴區間Waiting for profiling to be done...
2.5 % 97.5 %
(Intercept) 0.9955246 1.902278
Q27n1 0.6397438 1.153959
Q30n1 1.0470786 1.894803
假設1a:相對於維持現狀的民眾來說,若受訪者認知到中共會攻打台灣,會降低支持台獨的可能。
假設2a:相對於維持現狀的民眾來說,若受訪者認知到美國會救台灣,會增加支持台獨的可能。
假設3a:相對於維持現狀的民眾來說,中共攻台的認知具有調節美國援台對支持台獨影響的作用(反之亦然)。
12.關於臺灣和大陸的關係,有下面幾種不同的看法:
1:儘快(臺:卡緊)統一 ; 2:儘快(臺:卡緊)宣布獨立;
3:維持現狀,以後走向統一; 4:維持現狀,以後走向獨立 ;
5:維持現狀,看情形再決定獨立或統一; 6:永遠維持現狀。
請問您比較偏向那一種?
library(sjPlot)
TNSS2015$Q12m <- rec(TNSS2015$Q12, rec = "1,3=2; 2,4,=1; 5,6=0; else=NA", as.num = F)
contrasts(TNSS2015$Q12m) 1 2
0 0 0
1 1 0
2 0 1
library(VGAM)Loading required package: stats4
Loading required package: splines
mod.3 <- vglm(Q12m ~ Q27n + Q30n, data=TNSS2015, family = multinomial)
summary(mod.3)
Call:
vglm(formula = Q12m ~ Q27n + Q30n, family = multinomial, data = TNSS2015)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept):1 1.7409 0.2761 6.306 2.87e-10 ***
(Intercept):2 0.5207 0.3153 1.651 0.09868 .
Q27n1:1 -0.2201 0.2737 -0.804 0.42128
Q27n1:2 -0.6531 0.2970 -2.199 0.02787 *
Q30n1:1 0.6339 0.2454 2.583 0.00978 **
Q30n1:2 1.2783 0.2887 4.428 9.52e-06 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Names of linear predictors: log(mu[,1]/mu[,3]), log(mu[,2]/mu[,3])
Residual deviance: 1354.544 on 1652 degrees of freedom
Log-likelihood: -677.2722 on 1652 degrees of freedom
Number of Fisher scoring iterations: 5
Reference group is level 3 of the response
mod.4 <- update(mod.3, .~. + Q27n:Q30n)
summary(mod.4)
Call:
vglm(formula = Q12m ~ Q27n + Q30n + Q27n:Q30n, family = multinomial,
data = TNSS2015)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept):1 1.6946 0.3627 4.673 2.97e-06 ***
(Intercept):2 0.3677 0.4336 0.848 0.39643
Q27n1:1 -0.1613 0.4148 -0.389 0.69733
Q27n1:2 -0.4367 0.5070 -0.861 0.38906
Q30n1:1 0.7183 0.4715 1.524 0.12762
Q30n1:2 1.4912 0.5332 2.796 0.00517 **
Q27n1:Q30n1:1 -0.1137 0.5516 -0.206 0.83664
Q27n1:Q30n1:2 -0.3113 0.6345 -0.491 0.62371
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Names of linear predictors: log(mu[,1]/mu[,3]), log(mu[,2]/mu[,3])
Residual deviance: 1354.238 on 1650 degrees of freedom
Log-likelihood: -677.1188 on 1650 degrees of freedom
Number of Fisher scoring iterations: 5
Reference group is level 3 of the response
補充盒子:用contrasts()直接從虛擬變數中調整對照組
contrasts(TNSS2015$Q12m) <- contr.treatment(levels(TNSS2015$Q12m),base=2)