## 實作目標
# 我們使用由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 # 顯示欄百分比
)
|
隢<95>閬箏 |
撟單<99>蝷曄黎慦 Facebook蝑 |
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
## 結果分析:越覺得自己可以自由支配時間不夠的人,越覺得用社群媒體與家人聯繫感情不夠,越需要見面團聚。