實作練習

## 實作目標
# 我們使用由smilepoll.tw提供的開放資料BBQ.csv(在資料區可看到BBQ問卷檔及報表),學習如何整合本書之前的重點,進行變數描述、存檔、進行MCA探索式分析,以及二元勝算對數(確認式)分析實作。

假設

## 假設
# 假設一:對烤肉的新鮮感不再便會降低明年烤肉的意願  
# 假設二:覺得烤肉影響健康便會降低明年烤肉的意願  
# 假設三:覺得烤肉花費造成負擔便會降低明年烤肉的意願  
# 假設四:覺得烤肉麻煩便會降低明年烤肉的意願  
# 假設五:覺得烤肉影響環境便會降低明年烤肉的意願  
# 假設六:覺得不必要見面就能聯絡感情會降低明年烤肉的意願  
# 假設七:認為烤肉不是聯絡感情的首選便會降低明年烤肉的意願

初步處理資料

## 初步處理資料檔
# 讀入資料檔並將變數名稱字串轉為變數標籤 

library(readr)
bbq <- read_csv("C:/Users/yashin/Desktop/homework/My first/bbq.csv")
## 
## -- Column specification --------------------------------------------------------
## cols(
##   .default = col_double(),
##   `喜歡,因為…:對於這種「到府烤肉」服務,您的感受是?` = col_character(),
##   `不喜歡,因為…:對於這種「到府烤肉」服務,您的感受是?` = col_character(),
##   `如果大家都烤肉,您會覺得「不好玩」嗎?: Comments` = col_character(),
##   `對您來說,烤肉費用的支出是不是一種負擔?: Comments` = col_character(),
##   `我最受不了的是::在烤肉活動中,請問下列哪一項是您最無法忍受的?` = col_character(),
##   `在烤肉活動中,請問下列哪一項是您最無法忍受的?: Comments` = col_character(),
##   `您在不在意您烤肉時造成的污染嗎?: Comments` = col_character(),
##   `我覺得::我覺得「封街烤肉」…` = col_character(),
##   `集體烤肉,因為::請問您比較喜歡「封街大家一起烤肉」,還是「自己家烤自己的」?` = col_logical(),
##   `自己烤,因為::請問您比較喜歡「封街大家一起烤肉」,還是「自己家烤自己的」?` = col_logical(),
##   `請問您比較喜歡「封街大家一起烤肉」,還是「自己家烤自己的」?: Comments` = col_character(),
##   `我有其他想法::平時用社群媒體(Line, Facebook等)與家人聯繫感情。您覺得夠不夠?` = col_character(),
##   `平時用社群媒體(Line, Facebook等)與家人聯繫感情。您覺得夠不夠?: Comments` = col_character(),
##   Edu = col_character(),
##   Job = col_character(),
##   Other_Job = col_logical()
## )
## i Use `spec()` for the full column specifications.
View(bbq)
nrow(bbq) # 共650列 
## [1] 650
ncol(bbq) # 共58欄
## [1] 58
# 取出變數名稱當作變數標籤
varlabels <- colnames(bbq) 

# 拿掉標籤之後的變數名稱重新命名為V1, V2, ...
colnames(bbq)[1:58] <- paste("V", 1:58, sep="") 

# 為變數名稱裝上標籤
sjlabelled::set_label(bbq) <- varlabels 

# 批次清理無效值
bbq <- sjmisc::set_na(bbq, na="NA")

變數編碼

## 變數編碼與描述
varlabels #列出每個變數的標籤
##  [1] "Response_ID"                                                                                            
##  [2] "今年的中秋節您有與家人團聚嗎?(延後到國慶連假也算)"                                                   
##  [3] "今年中秋節(含國慶連假)團圓時您有烤肉嗎?"                                                             
##  [4] "肉片:請問在烤肉時,您最喜歡的食材是哪些?(可複選)"                                                    
##  [5] "香腸:請問在烤肉時,您最喜歡的食材是哪些?(可複選)"                                                    
##  [6] "黑輪:請問在烤肉時,您最喜歡的食材是哪些?(可複選)"                                                    
##  [7] "玉米:請問在烤肉時,您最喜歡的食材是哪些?(可複選)"                                                    
##  [8] "貢丸:請問在烤肉時,您最喜歡的食材是哪些?(可複選)"                                                    
##  [9] "米血:請問在烤肉時,您最喜歡的食材是哪些?(可複選)"                                                    
## [10] "蔬菜:請問在烤肉時,您最喜歡的食材是哪些?(可複選)"                                                    
## [11] "海鮮:請問在烤肉時,您最喜歡的食材是哪些?(可複選)"                                                    
## [12] "雞翅、雞腿:請問在烤肉時,您最喜歡的食材是哪些?(可複選)"                                              
## [13] "豆干、豆腐:請問在烤肉時,您最喜歡的食材是哪些?(可複選)"                                              
## [14] "我喜歡的是::請問在烤肉時,您最喜歡的食材是哪些?(可複選)"                                            
## [15] "對於這種「到府烤肉」服務,您的感受是?"                                                                 
## [16] "喜歡,因為…:對於這種「到府烤肉」服務,您的感受是?"                                                     
## [17] "不喜歡,因為…:對於這種「到府烤肉」服務,您的感受是?"                                                   
## [18] "如果大家都烤肉,您會覺得「不好玩」嗎?"                                                                 
## [19] "如果大家都烤肉,您會覺得「不好玩」嗎?: Comments"                                                       
## [20] "無論您喜不喜歡烤肉,現在我們來談談對它的印象吧。 您覺得戶外的烤肉對您的健康有多大影響?"                
## [21] "對您來說,烤肉費用的支出是不是一種負擔?"                                                               
## [22] "對您來說,烤肉費用的支出是不是一種負擔?: Comments"                                                     
## [23] "準備烤肉食材對您來說會不會很麻煩?"                                                                     
## [24] "在烤肉活動中,請問下列哪一項是您最無法忍受的?"                                                         
## [25] "我最受不了的是::在烤肉活動中,請問下列哪一項是您最無法忍受的?"                                        
## [26] "在烤肉活動中,請問下列哪一項是您最無法忍受的?: Comments"                                               
## [27] "您在不在意您烤肉時造成的污染嗎?"                                                                       
## [28] "您在不在意您烤肉時造成的污染嗎?: Comments"                                                             
## [29] "請問這樣的活動對您來說有趣嗎?"                                                                         
## [30] "請問您是否參與過這類的大型烤肉活動?"                                                                   
## [31] "我覺得「封街烤肉」…"                                                                                    
## [32] "我覺得::我覺得「封街烤肉」…"                                                                           
## [33] "請問您比較喜歡「封街大家一起烤肉」,還是「自己家烤自己的」?"                                           
## [34] "集體烤肉,因為::請問您比較喜歡「封街大家一起烤肉」,還是「自己家烤自己的」?"                          
## [35] "自己烤,因為::請問您比較喜歡「封街大家一起烤肉」,還是「自己家烤自己的」?"                            
## [36] "請問您比較喜歡「封街大家一起烤肉」,還是「自己家烤自己的」?: Comments"                                 
## [37] "最後,我們來談談節慶與團聚。 請問您覺得一天之內自己可以自由支配的時間(用來做自己想做的事)大約有多少?"
## [38] "春節:請問您今年挑了什麼時間與全家團聚(可複選)?"                                                      
## [39] "端午:請問您今年挑了什麼時間與全家團聚(可複選)?"                                                      
## [40] "中秋:請問您今年挑了什麼時間與全家團聚(可複選)?"                                                      
## [41] "長假連假:請問您今年挑了什麼時間與全家團聚(可複選)?"                                                  
## [42] "平時週休或排假時:請問您今年挑了什麼時間與全家團聚(可複選)?"                                          
## [43] "以上都沒有:請問您今年挑了什麼時間與全家團聚(可複選)?"                                                
## [44] "說回到烤肉,請問您明年會不會想全家人一起烤肉?"                                                         
## [45] "平時用社群媒體(Line, Facebook等)與家人聯繫感情。您覺得夠不夠?"                                       
## [46] "我有其他想法::平時用社群媒體(Line, Facebook等)與家人聯繫感情。您覺得夠不夠?"                        
## [47] "平時用社群媒體(Line, Facebook等)與家人聯繫感情。您覺得夠不夠?: Comments"                             
## [48] "大家圍著烤肉比其他活動要較為容易聯絡感情。"                                                             
## [49] "「請問您多常使用手機上的社群媒體(Line, FB等)APP與家人聯絡?」"                                        
## [50] "請問您使用手機與家人聯絡時,比較喜歡使用文字簡訊(例如Line留言),還是使用講話(含視訊)?"             
## [51] "關於性別,您會以生理性別或社會性別來描述自己?"                                                         
## [52] "Gender"                                                                                                 
## [53] "Social_gender"                                                                                          
## [54] "Bornyear"                                                                                               
## [55] "Edu"                                                                                                    
## [56] "Residence"                                                                                              
## [57] "Job"                                                                                                    
## [58] "Other_Job"
library(sjmisc)
library(sjPlot)
## #refugeeswelcome
names(bbq)
##  [1] "V1"  "V2"  "V3"  "V4"  "V5"  "V6"  "V7"  "V8"  "V9"  "V10" "V11" "V12"
## [13] "V13" "V14" "V15" "V16" "V17" "V18" "V19" "V20" "V21" "V22" "V23" "V24"
## [25] "V25" "V26" "V27" "V28" "V29" "V30" "V31" "V32" "V33" "V34" "V35" "V36"
## [37] "V37" "V38" "V39" "V40" "V41" "V42" "V43" "V44" "V45" "V46" "V47" "V48"
## [49] "V49" "V50" "V51" "V52" "V53" "V54" "V55" "V56" "V57" "V58"

依變數

## 依變數:「明年會不會烤肉」
# (V44)說回到烤肉,請問您明年會不會想全家人一起烤肉? (0~10)
# table(bbq$V44)
bbq$V44r <- rec(bbq$V44, rec="0:5=0; 6:10=1", as.num=F) 
frq(bbq$V44)
## 
## 說回到烤肉,請問您明年會不會想全家人一起烤肉? (x) <numeric>
## # total N=650  valid N=650  mean=5.66  sd=2.57
## 
## Value |   N | Raw % | Valid % | Cum. %
## --------------------------------------
##     0 |  33 |  5.08 |    5.08 |   5.08
##     1 |  20 |  3.08 |    3.08 |   8.15
##     2 |  23 |  3.54 |    3.54 |  11.69
##     3 |  45 |  6.92 |    6.92 |  18.62
##     4 |  49 |  7.54 |    7.54 |  26.15
##     5 | 136 | 20.92 |   20.92 |  47.08
##     6 | 109 | 16.77 |   16.77 |  63.85
##     7 |  85 | 13.08 |   13.08 |  76.92
##     8 |  56 |  8.62 |    8.62 |  85.54
##     9 |  33 |  5.08 |    5.08 |  90.62
##    10 |  61 |  9.38 |    9.38 | 100.00
##  <NA> |   0 |  0.00 |    <NA> |   <NA>
frq(bbq$V44r)
## 
## 說回到烤肉,請問您明年會不會想全家人一起烤肉? (x) <categorical>
## # total N=650  valid N=650  mean=0.53  sd=0.50
## 
## Value |   N | Raw % | Valid % | Cum. %
## --------------------------------------
##     0 | 306 | 47.08 |   47.08 |  47.08
##     1 | 344 | 52.92 |   52.92 | 100.00
##  <NA> |   0 |  0.00 |    <NA> |   <NA>
plot_frq(bbq$V44r)

自變數

## 自變數
# 假設一:「新鮮感」
# (V18)如果大家都烤肉,您會覺得「不好玩」嗎?*
#  跟別人做類似的活動,不好玩 1
#  跟別人做類似的活動也很ok啊 2
bbq$V18r <- rec(bbq$V18, rec="1=1[不新鮮]; 2=0[沒有差]", as.num=F)
frq(bbq$V18r)
## 
## 如果大家都烤肉,您會覺得「不好玩」嗎? (x) <categorical>
## # total N=650  valid N=650  mean=0.17  sd=0.38
## 
## Value |  Label |   N | Raw % | Valid % | Cum. %
## -----------------------------------------------
##     0 | 沒有差 | 540 | 83.08 |   83.08 |  83.08
##     1 | 不新鮮 | 110 | 16.92 |   16.92 | 100.00
##  <NA> |   <NA> |   0 |  0.00 |    <NA> |   <NA>
# 假設二:「對健康影響的認知」
# (V20)您覺得戶外的烤肉對您的健康有多大影響?*
#  影響很大 1
#  影響不大 2
#  完全沒影響 3
# table(bbq$V20)
bbq$V20r <- rec(bbq$V20, rec="1=1; 2:3=0", as.num=F)
frq(bbq$V20r)
## 
## 無論您喜不喜歡烤肉,現在我們來談談對它的印象吧。 您覺得戶外的烤肉對您的健康有多大影響? (x) <categorical>
## # total N=650  valid N=650  mean=0.36  sd=0.48
## 
## Value |   N | Raw % | Valid % | Cum. %
## --------------------------------------
##     0 | 414 | 63.69 |   63.69 |  63.69
##     1 | 236 | 36.31 |   36.31 | 100.00
##  <NA> |   0 |  0.00 |    <NA> |   <NA>
# 假設三:「金錢負擔」
# (V21)對您來說,烤肉費用的支出是不是一種負擔?*
#  是,的確是種負擔 1
#  還好 2
#  不會 3
# table(bbq$V21)
bbq$V21r <- rec(bbq$V21, rec="1=1; 2:3=0", as.num=F)
frq(bbq$V21r)
## 
## 對您來說,烤肉費用的支出是不是一種負擔? (x) <categorical>
## # total N=650  valid N=650  mean=0.34  sd=0.47
## 
## Value |   N | Raw % | Valid % | Cum. %
## --------------------------------------
##     0 | 430 | 66.15 |   66.15 |  66.15
##     1 | 220 | 33.85 |   33.85 | 100.00
##  <NA> |   0 |  0.00 |    <NA> |   <NA>
# 假設四:「心力負擔」
# (V23)準備烤肉食材對您來說會不會很麻煩?*
#  會麻煩 1
#  不會麻煩 2
# table(bbq$V23)
bbq$V23r <- rec(bbq$V23, rec="1=1; 2:3=0", as.num=F)
frq(bbq$V23r)
## 
## 準備烤肉食材對您來說會不會很麻煩? (x) <categorical>
## # total N=650  valid N=650  mean=0.74  sd=0.44
## 
## Value |   N | Raw % | Valid % | Cum. %
## --------------------------------------
##     0 | 167 | 25.69 |   25.69 |  25.69
##     1 | 483 | 74.31 |   74.31 | 100.00
##  <NA> |   0 |  0.00 |    <NA> |   <NA>
# 假設五:「對環境影響的認知」
# (V27)您在不在意您烤肉時造成的污染嗎?*
#  會在意,覺得多少影響了環境 1
#  還好 2
#  不會在意 3
# table(bbq$V27)
bbq$V27r <- rec(bbq$V27, rec="1=1; 2:3=0", as.num=F)
frq(bbq$V27r)
## 
## 您在不在意您烤肉時造成的污染嗎? (x) <categorical>
## # total N=650  valid N=650  mean=0.63  sd=0.48
## 
## Value |   N | Raw % | Valid % | Cum. %
## --------------------------------------
##     0 | 240 | 36.92 |   36.92 |  36.92
##     1 | 410 | 63.08 |   63.08 | 100.00
##  <NA> |   0 |  0.00 |    <NA> |   <NA>
# 假設六:「見面聯絡感情是必要的(必要性)」
#  (V45) 平時用社群媒體(Line, Facebook等)與家人聯繫感情。您覺得夠不夠?*
#  很夠了。科技讓我與家人緊緊連在一起,年節不見面也不要緊。 1
#  還算夠。有了科技,家人不必一定要聚在一起。 2
#  不夠!見面較能聯絡感情,所以仍然要經常找時間團聚。 3
#  絕對不夠!我不太相信用社群媒體可以聯繫感情,一定要見到面才行。 4
#  我有其他想法::  * 90
# table(bbq$V45)
bbq$V45r <- rec(bbq$V45, rec="1:2=0; 3,4=1 ", 
                as.num=F)
frq(bbq$V45r)
## 
## 平時用社群媒體(Line, Facebook等)與家人聯繫感情。您覺得夠不夠? (x) <categorical>
## # total N=650  valid N=645  mean=0.64  sd=0.48
## 
## Value |   N | Raw % | Valid % | Cum. %
## --------------------------------------
##     0 | 234 | 36.00 |   36.28 |  36.28
##     1 | 411 | 63.23 |   63.72 | 100.00
##  <NA> |   5 |  0.77 |    <NA> |   <NA>
# 假設七:「為聯絡感情烤肉是首選(重要性)」
#  (V48) 大家圍著烤肉比其他活動要較為容易聯絡感情。*
#  同意。 1
#  不會/不見得。 2
# table(bbq$V48)
bbq$V48r <- rec(bbq$V48, rec="1=1; 2=0 ", as.num=F)
frq(bbq$V48r)
## 
## 大家圍著烤肉比其他活動要較為容易聯絡感情。 (x) <categorical>
## # total N=650  valid N=650  mean=0.47  sd=0.50
## 
## Value |   N | Raw % | Valid % | Cum. %
## --------------------------------------
##     0 | 343 | 52.77 |   52.77 |  52.77
##     1 | 307 | 47.23 |   47.23 | 100.00
##  <NA> |   0 |  0.00 |    <NA> |   <NA>

控制變數

## 控制變數
# 「今年中秋有與家人團聚」
# (V2) 今年的中秋節您有與家人團聚嗎?(延後到國慶連假也算)*
#  有 1
#  沒有 2
# table(bbq$V2)
bbq$V2r <- rec(bbq$V2, rec="1=1; 2=0 ", as.num=F)
frq(bbq$V2r)
## 
## 今年的中秋節您有與家人團聚嗎?(延後到國慶連假也算) (x) <categorical>
## # total N=650  valid N=650  mean=0.83  sd=0.37
## 
## Value |   N | Raw % | Valid % | Cum. %
## --------------------------------------
##     0 | 109 | 16.77 |   16.77 |  16.77
##     1 | 541 | 83.23 |   83.23 | 100.00
##  <NA> |   0 |  0.00 |    <NA> |   <NA>
# 「今年有參加家庭烤肉活動」
# (V3)  今年中秋節(含國慶連假)團圓時您有烤肉嗎?*
#  有 1
#  沒有 2
# table(bbq$V3)
bbq$V3r <- rec(bbq$V3, rec="1=1; 2=0 ", 
               as.num=F)
frq(bbq$V3r)
## 
## 今年中秋節(含國慶連假)團圓時您有烤肉嗎? (x) <categorical>
## # total N=650  valid N=650  mean=0.50  sd=0.50
## 
## Value |   N | Raw % | Valid % | Cum. %
## --------------------------------------
##     0 | 328 | 50.46 |   50.46 |  50.46
##     1 | 322 | 49.54 |   49.54 | 100.00
##  <NA> |   0 |  0.00 |    <NA> |   <NA>
# 「在意對環境的危害」
# (V24)在烤肉活動中,請問下列哪一項是您最無法忍受的?*
#  空氣汙染 1
#  垃圾 2
#  噪音 3
#  隨處亂滴的醬汁 4
#  我覺得還好,沒那麼嚴重 5
#  我最受不了的是::  * 90
bbq$V24r <- rec(bbq$V24, 
                rec="1,2,3,4=1; 5=0=; 90=NA", 
                as.num=F)
frq(bbq$V24r)
## 
## 在烤肉活動中,請問下列哪一項是您最無法忍受的? (x) <categorical>
## # total N=650  valid N=634  mean=0.83  sd=0.38
## 
## Value |   N | Raw % | Valid % | Cum. %
## --------------------------------------
##     0 | 108 | 16.62 |   17.03 |  17.03
##     1 | 526 | 80.92 |   82.97 | 100.00
##  <NA> |  16 |  2.46 |    <NA> |   <NA>
# 「常用手機與網路聯絡感情」
# (V49)「請問您多常使用手機上的社群媒體(Line, FB等)APP與家人聯絡?」*
#  幾乎天天使用 1
#  偶爾使用 2
#  從來沒用(我用手機只打電話) 3
#  我不常使用手機 4
bbq$V49r <- rec(bbq$V49, rec="1=1; 2:4=0", as.num=F) 
frq(bbq$V49r)
## 
## 「請問您多常使用手機上的社群媒體(Line, FB等)APP與家人聯絡?」 (x) <categorical>
## # total N=650  valid N=650  mean=0.50  sd=0.50
## 
## Value |   N | Raw % | Valid % | Cum. %
## --------------------------------------
##     0 | 325 |    50 |      50 |     50
##     1 | 325 |    50 |      50 |    100
##  <NA> |   0 |     0 |    <NA> |   <NA>
# 「聯絡家人時偏好語音(還是文字)」。
# (V50)請問您使用手機與家人聯絡時,比較喜歡使用文字簡訊(例如Line留言),還是使用講話(含視訊)?*
#  整體來說比較常用文字簡訊 1
#  整體來說比較常用語音講話(含視訊) 2
bbq$V50r <- rec(bbq$V50, rec="1=0; 2=1", 
                as.num=F)
frq(bbq$V50r)
## 
## 請問您使用手機與家人聯絡時,比較喜歡使用文字簡訊(例如Line留言),還是使用講話(含視訊)? (x) <categorical>
## # total N=650  valid N=650  mean=0.33  sd=0.47
## 
## Value |   N | Raw % | Valid % | Cum. %
## --------------------------------------
##     0 | 438 | 67.38 |   67.38 |  67.38
##     1 | 212 | 32.62 |   32.62 | 100.00
##  <NA> |   0 |  0.00 |    <NA> |   <NA>
#「時間負擔」
# (V37) 請問您覺得一天之內自己可以自由支配的時間(用來做自己想做的事)大約有多少?*
#  很多 1
#  還好 2
#  有點少 3
#  完全沒有 4
bbq$V37r <- rec(bbq$V37, rec="1,2=0; 3,4=1", as.num=F)
frq(bbq$V37r)
## 
## 最後,我們來談談節慶與團聚。 請問您覺得一天之內自己可以自由支配的時間(用來做自己想做的事)大約有多少? (x) <categorical>
## # total N=650  valid N=650  mean=0.32  sd=0.47
## 
## Value |   N | Raw % | Valid % | Cum. %
## --------------------------------------
##     0 | 445 | 68.46 |   68.46 |  68.46
##     1 | 205 | 31.54 |   31.54 | 100.00
##  <NA> |   0 |  0.00 |    <NA> |   <NA>

儲存檔案

## 儲存檔案
names(bbq) # 確認包含了上面新增的14個變數
##  [1] "V1"   "V2"   "V3"   "V4"   "V5"   "V6"   "V7"   "V8"   "V9"   "V10" 
## [11] "V11"  "V12"  "V13"  "V14"  "V15"  "V16"  "V17"  "V18"  "V19"  "V20" 
## [21] "V21"  "V22"  "V23"  "V24"  "V25"  "V26"  "V27"  "V28"  "V29"  "V30" 
## [31] "V31"  "V32"  "V33"  "V34"  "V35"  "V36"  "V37"  "V38"  "V39"  "V40" 
## [41] "V41"  "V42"  "V43"  "V44"  "V45"  "V46"  "V47"  "V48"  "V49"  "V50" 
## [51] "V51"  "V52"  "V53"  "V54"  "V55"  "V56"  "V57"  "V58"  "V44r" "V18r"
## [61] "V20r" "V21r" "V23r" "V27r" "V45r" "V48r" "V2r"  "V3r"  "V24r" "V49r"
## [71] "V50r" "V37r"
save(bbq, file="BBQ.rda")
rm(list=ls())

確認式分析

## 確認式分析:二元勝算對數模型
# **假設一:對烤肉的新鮮感不再便會降低明年烤肉的意願
# 假設二:覺得烤肉影響健康便會降低明年烤肉的意願
# 假設三:覺得烤肉花費造成負擔便會降低明年烤肉的意願
# **假設四:覺得烤肉麻煩便會降低明年烤肉的意願
# 假設五:覺得烤肉影響環境便會降低明年烤肉的意願
# *假設六:覺得不必要見面就能聯絡感情會降低明年烤肉的意願
# ***假設七:認為烤肉不是聯絡感情的首選便會降低明年烤肉的意願

library(car)
## Loading required package: carData
## Registered S3 methods overwritten by 'car':
##   method                          from
##   influence.merMod                lme4
##   cooks.distance.influence.merMod lme4
##   dfbeta.influence.merMod         lme4
##   dfbetas.influence.merMod        lme4
load("BBQ.rda")

## 模型一:包含所有解釋變數的原始模型
mod.1 <- glm(V44r ~ V18r+V20r+V21r+V23r+V27r+V45r+V48r, 
             data=bbq, 
             family=binomial)
summary(mod.1) 
## 
## Call:
## glm(formula = V44r ~ V18r + V20r + V21r + V23r + V27r + V45r + 
##     V48r, family = binomial, data = bbq)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.1544  -0.9159   0.4547   0.8186   2.2016  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  -0.1028     0.2611  -0.394 0.693684    
## V18r1        -0.9319     0.2593  -3.593 0.000327 ***
## V20r1        -0.2302     0.2035  -1.131 0.257974    
## V21r1        -0.2541     0.2046  -1.242 0.214258    
## V23r1        -0.7009     0.2325  -3.015 0.002571 ** 
## V27r1        -0.1109     0.2063  -0.538 0.590751    
## V45r1         0.5169     0.1917   2.696 0.007008 ** 
## V48r1         1.8033     0.1870   9.644  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 892.04  on 644  degrees of freedom
## Residual deviance: 710.49  on 637  degrees of freedom
##   (5 observations deleted due to missingness)
## AIC: 726.49
## 
## Number of Fisher Scoring iterations: 4
vif(mod.1) 
##     V18r     V20r     V21r     V23r     V27r     V45r     V48r 
## 1.020268 1.139311 1.112477 1.107769 1.172304 1.016885 1.017933
## 模型二:加入其他控制變數的完整模型
mod.2 <- update(mod.1, .~. +V2r+V3r+V24r+V49r+V50r+V37r)
summary(mod.1) 
## 
## Call:
## glm(formula = V44r ~ V18r + V20r + V21r + V23r + V27r + V45r + 
##     V48r, family = binomial, data = bbq)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.1544  -0.9159   0.4547   0.8186   2.2016  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  -0.1028     0.2611  -0.394 0.693684    
## V18r1        -0.9319     0.2593  -3.593 0.000327 ***
## V20r1        -0.2302     0.2035  -1.131 0.257974    
## V21r1        -0.2541     0.2046  -1.242 0.214258    
## V23r1        -0.7009     0.2325  -3.015 0.002571 ** 
## V27r1        -0.1109     0.2063  -0.538 0.590751    
## V45r1         0.5169     0.1917   2.696 0.007008 ** 
## V48r1         1.8033     0.1870   9.644  < 2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 892.04  on 644  degrees of freedom
## Residual deviance: 710.49  on 637  degrees of freedom
##   (5 observations deleted due to missingness)
## AIC: 726.49
## 
## Number of Fisher Scoring iterations: 4
vif(mod.1)
##     V18r     V20r     V21r     V23r     V27r     V45r     V48r 
## 1.020268 1.139311 1.112477 1.107769 1.172304 1.016885 1.017933
## 模型三:留下有效的控制變數的最終模型
mod.3 <- update(mod.1, .~.+V3r+V49r)
summary(mod.3) 
## 
## Call:
## glm(formula = V44r ~ V18r + V20r + V21r + V23r + V27r + V45r + 
##     V48r + V3r + V49r, family = binomial, data = bbq)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -2.3260  -0.7341   0.2922   0.7915   2.5755  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept) -1.28359    0.32001  -4.011 6.04e-05 ***
## V18r1       -0.74243    0.28250  -2.628 0.008586 ** 
## V20r1       -0.39866    0.22056  -1.808 0.070681 .  
## V21r1       -0.24753    0.22263  -1.112 0.266215    
## V23r1       -0.58145    0.25229  -2.305 0.021186 *  
## V27r1       -0.02589    0.22319  -0.116 0.907645    
## V45r1        0.71726    0.21128   3.395 0.000687 ***
## V48r1        1.55086    0.20067   7.728 1.09e-14 ***
## V3r1         1.65134    0.20247   8.156 3.46e-16 ***
## V49r1        0.52231    0.20105   2.598 0.009379 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 892.04  on 644  degrees of freedom
## Residual deviance: 627.94  on 635  degrees of freedom
##   (5 observations deleted due to missingness)
## AIC: 647.94
## 
## Number of Fisher Scoring iterations: 4
vif(mod.3)
##     V18r     V20r     V21r     V23r     V27r     V45r     V48r      V3r 
## 1.020551 1.149685 1.128763 1.110795 1.189288 1.061042 1.016273 1.046443 
##     V49r 
## 1.037068
## 探索式分析:MCA
load("BBQ.rda")
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following object is masked from 'package:car':
## 
##     recode
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
library(FactoMineR)
library(factoextra)
## Loading required package: ggplot2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
bbqMCA <- select(bbq, V44r, V18r, V20r, V21r, V23r, V27r, V45r, V48r, 
                 V2r, V3r, V24r, V49r, V50r, V37r)
bbqMCA.nona <- na.omit(bbqMCA)
nrow(bbqMCA.nona) # 629
## [1] 629
names(bbqMCA.nona)
##  [1] "V44r" "V18r" "V20r" "V21r" "V23r" "V27r" "V45r" "V48r" "V2r"  "V3r" 
## [11] "V24r" "V49r" "V50r" "V37r"
res<-MCA(bbqMCA.nona, ncp=5, graph= F) 
fviz_screeplot(res, ncp=10) 

# 變數關聯關係圖
plot(res, axes=c(1, 2), new.plot=TRUE, 
     col.var="red", col.ind="black", col.ind.sup="black",
     col.quali.sup="darkgreen", col.quanti.sup="blue",
     label=c("var"), cex=0.8, 
     selectMod = "cos2",
     invisible=c("ind", "quali.sup"), 
     autoLab = "yes",
     title="") 

# 初步假設:覺得自己時間充裕的人(V37r=0),愈可能傾向見面團聚取代使用手機(V45r=1);相反的,自覺一天內時間不足的人,反而傾向以手機來取代見面團聚。

卡方檢定

## 用卡方檢定來進一步確認肉眼所預判潛在變數之間的相關性
# 做法一
library(gmodels)
CrossTable(bbq$V37r, bbq$V45r, 
           chisq = T,       # 顯示卡方檢定結果
           prop.chisq = F,  # 不必顯示每個細格的卡方值貢獻程度
           prop.t= F        # 不必顯示每個細格次數所佔全體百分比
           )
## 
##  
##    Cell Contents
## |-------------------------|
## |                       N |
## |           N / Row Total |
## |           N / Col Total |
## |-------------------------|
## 
##  
## Total Observations in Table:  645 
## 
##  
##              | bbq$V45r 
##     bbq$V37r |         0 |         1 | Row Total | 
## -------------|-----------|-----------|-----------|
##            0 |       173 |       269 |       442 | 
##              |     0.391 |     0.609 |     0.685 | 
##              |     0.739 |     0.655 |           | 
## -------------|-----------|-----------|-----------|
##            1 |        61 |       142 |       203 | 
##              |     0.300 |     0.700 |     0.315 | 
##              |     0.261 |     0.345 |           | 
## -------------|-----------|-----------|-----------|
## Column Total |       234 |       411 |       645 | 
##              |     0.363 |     0.637 |           | 
## -------------|-----------|-----------|-----------|
## 
##  
## Statistics for All Table Factors
## 
## 
## Pearson's Chi-squared test 
## ------------------------------------------------------------
## Chi^2 =  4.9733     d.f. =  1     p =  0.02574149 
## 
## Pearson's Chi-squared test with Yates' continuity correction 
## ------------------------------------------------------------
## Chi^2 =  4.587819     d.f. =  1     p =  0.03219996 
## 
## 
# 做法二
library(sjPlot)
tab_xtab(bbq$V37r, bbq$V45r, encoding="utf-8",
         show.row.prc = TRUE, # 顯示列百分比
         show.col.prc = TRUE  # 顯示欄百分比
         )
<9c>€敺<88>€€<88><9c><81>€<82>
隢<95>閬箏€憭拐撌勗隞亥<85><9a><99><96>靘<81>撌望<81><9a>之蝝<9c><9f>
撟單<99>蝷曄黎慦ine,
Facebook蝑<88>振鈭箄蝜急<84><83>€閬箏<9f>
Total
0 1
0 173
39.1 %
73.9 %
269
60.9 %
65.5 %
442
100 %
68.5 %
1 61
30 %
26.1 %
142
70 %
34.5 %
203
100 %
31.5 %
Total 234
36.3 %
100 %
411
63.7 %
100 %
645
100 %
100 %
χ2=4.588 · df=1 · φ=0.088 · p=0.032
## 與資料喝杯咖啡:拿資料來檢視自己對變數關係的判斷
mod.4 <- glm(V45r~V37r, data = bbq, family = binomial)
summary(mod.4)
## 
## Call:
## glm(formula = V45r ~ V37r, family = binomial, data = bbq)
## 
## Deviance Residuals: 
##     Min       1Q   Median       3Q      Max  
## -1.5507  -1.3697   0.8454   0.9966   0.9966  
## 
## Coefficients:
##             Estimate Std. Error z value Pr(>|z|)    
## (Intercept)  0.44142    0.09746   4.529 5.92e-06 ***
## V37r1        0.40353    0.18148   2.224   0.0262 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for binomial family taken to be 1)
## 
##     Null deviance: 844.96  on 644  degrees of freedom
## Residual deviance: 839.90  on 643  degrees of freedom
##   (5 observations deleted due to missingness)
## AIC: 843.9
## 
## Number of Fisher Scoring iterations: 4

結果分析

## 結果分析:越覺得自己可以自由支配時間不夠的人,越覺得用社群媒體與家人聯繫感情不夠,越需要見面團聚。