# ### 資料框處理
# 電視收視,男女大不同?
# # 請至台灣傳播資料庫下載「2019年調查」的sav檔
# RQ1:男、女性常看的戲劇節目種類是否有差異?
# RQ2:男、女性在看劇的時間是否有差異?
# RQ3:男、女性在不同戲劇節目的看劇時間是否有差異?
## 1. 將輸入的sav檔案命名為tcs2019
library(sjlabelled)
tcs2019 <- read_spss("tcs2019.sav")
# 檢視資料
# install.packages("sjPlot")
# library(sjPlot)
# view_df(tcs2019,
# file="tcs2019tab.html", # 結果直接另存新檔
# show.na = T, # 顯示未重新編碼前的無效值個數
# show.frq = T, # 顯示次數
# show.prc = T, # 顯示百分比
# encoding = "big5"
# )
# RQ1:男、女性常看的戲劇節目種類是否有差異?
# 所需分析變數
# 性別:a1
# 戲劇類型(>200):g3.2,g3.3,g3.5,g3.6,g3.8,g3.11,g3.17
# 將所需變數,創資料框
names(tcs2019)
## [1] "id" "type" "a1" "a2" "a3" "a3.a"
## [7] "a4" "a5.1" "a6" "a6.a" "a7" "a7.a"
## [13] "a8" "a8.a" "a9" "a9.a" "b1" "b2a"
## [19] "b3a" "b3b" "b3c" "b3d" "b3e" "b3f"
## [25] "b4.1.a.1" "b4.1.a.2" "b4.1.b.1" "b4.1.b.2" "b4.2.a.1" "b4.2.a.2"
## [31] "b4.2.b.1" "b4.2.b.2" "b4.3.a.1" "b4.3.a.2" "b4.3.b.1" "b4.3.b.2"
## [37] "c1a" "c1b.1" "c1b.2" "c1c.1" "c1c.2" "c1c.3"
## [43] "c1c.4" "c1c.5" "c1c.6" "c1c.7" "c1c.13" "c1c.12"
## [49] "c1c.36" "c1c.10" "c1c.14" "c1c.17" "c1c.11" "c1c.15"
## [55] "c1c.19" "c1c.41" "c1c.42" "c1c.43" "c1c.28" "c1c.35"
## [61] "c1c.16" "c1c.20" "c1c.21" "c1c.22" "c1c.26" "c1c.30"
## [67] "c1c.31" "c1c.32" "c1c.33" "c1c.34" "c1c.37" "c1c.38"
## [73] "c1c.40" "c1c.44" "c1c.88" "c1c.a" "c3a" "c3b.1"
## [79] "c3b.2" "c3c.24" "c3c.28" "c3c.21" "c3c.26" "c3c.6"
## [85] "c3c.1" "c3c.2" "c3c.4" "c3c.5" "c3c.18" "c3c.8"
## [91] "c3c.17" "c3c.19" "c3c.9" "c3c.23" "c3c.16" "c3c.13"
## [97] "c3c.22" "c3c.11" "c3c.15" "c3c.14" "c3c.20" "c3c.12"
## [103] "c3c.10" "c3c.25" "c3c.27" "c3c.7" "c3c.29" "c3c.30"
## [109] "c3c.32" "c3c.33" "c3c.34" "c3c.35" "c3c.36" "c3c.37"
## [115] "c3c.38" "c3c.39" "c3c.40" "c3c.41" "c3c.42" "c3c.43"
## [121] "c3c.44" "c3c.45" "c3c.46" "c3c.47" "c3c.48" "c3c.49"
## [127] "c3c.50" "c3c.51" "c3c.52" "c3c.53" "c3c.54" "c3c.55"
## [133] "c3c.56" "c3c.57" "c3c.58" "c3c.59" "c3c.60" "c3c.61"
## [139] "c3c.88" "c3c.a" "d1a" "d1b.1" "d1b.2" "d2a"
## [145] "d2b.1" "d2b.2" "e1" "e2.1" "e2.2" "f1"
## [151] "f2.1" "f2.2" "f3" "f4.1" "f4.2" "f5"
## [157] "f6.1" "f6.2" "f7" "f7.a" "g1" "g2.1"
## [163] "g2.2" "g3.1" "g3.2" "g3.3" "g3.4" "g3.5"
## [169] "g3.6" "g3.7" "g3.8" "g3.9" "g3.10" "g3.11"
## [175] "g3.12" "g3.13" "g3.14" "g3.15" "g3.16" "g3.17"
## [181] "g3.18" "g3.19" "g3.20" "g3.21" "g3.22" "g3.23"
## [187] "g3.24" "g3.25" "g3.26" "g3.27" "g3.28" "g3.29"
## [193] "g3.30" "g3.31" "g3.32" "g3.33" "g3.34" "g3.35"
## [199] "g3.36" "g3.88" "g3.a" "g4.1" "g4.1.a" "g4.2"
## [205] "g4.2.a" "g5.0.1" "g5.0.2" "g5.0.3" "g5.0.4" "g5.0.5"
## [211] "g5.0.6" "g5.0.7" "g5.0.8" "g5.0.9" "g5.0.10" "g5.0.11"
## [217] "g5.0.12" "g5.0.13" "g5.0.14" "g5.0.15" "g5.0.88" "g5.0.a"
## [223] "g5.5" "g5.6" "g5.7" "g5.8" "g5.9" "g5.10"
## [229] "g5.11" "g5.12" "g5.14" "h1" "h2" "h3"
## [235] "h4.1.a.1" "h4.1.a.2" "h4.1.b.1" "h4.1.b.2" "h4.2.a.1" "h4.2.a.2"
## [241] "h4.2.b.1" "h4.2.b.2" "h4.3.a.1" "h4.3.a.2" "h4.3.b.1" "h4.3.b.2"
## [247] "h5.1" "h5.2" "h5.3" "h5.4" "h5.5" "h5.6"
## [253] "h5.7" "h5.8" "ha1" "ha2" "ha3a.1" "ha3a.2"
## [259] "ha3a.3" "ha3a.4" "ha3a.5" "ha3a.6" "ha3a.7" "ha3a.99"
## [265] "ha3b.1" "ha3b.2" "ha3b.3" "ha3b.4" "ha3b.5" "ha3b.6"
## [271] "ha3b.7" "ha3b.99" "ha4" "ha5a.1" "ha5a.2" "ha5a.3"
## [277] "ha5a.4" "ha5a.5" "ha5a.6" "ha5a.99" "ha5b.1" "ha5b.2"
## [283] "ha5b.3" "ha5b.4" "ha5b.5" "ha5b.6" "ha5b.99" "ha5c.1"
## [289] "ha5c.2" "ha5c.3" "ha5c.4" "ha5c.5" "ha5c.6" "ha5c.99"
## [295] "ha6.1" "ha6.2" "ha6.3" "ha6.4" "ha6.5" "ha6.6"
## [301] "ha6.7" "ha6.99" "ha7.1" "ha7.2" "ha7.3" "ha7.4"
## [307] "ha7.5" "ha7.6" "ha7.7" "ha7.99" "i1" "i1.a"
## [313] "i2" "i2.a" "i3" "i3.a" "i4.1" "i4.2"
## [319] "i4.3" "i4.4" "i4.5" "i5a.1" "i5a.2" "i5a.3"
## [325] "i5a.4" "i5a.5" "i5a.6" "i5a.7" "i5a.8" "i5a.9"
## [331] "i5a.10" "i5a.88" "i5a.a" "i5a.90" "i5b.1" "i5b.2"
## [337] "i5b.3" "i5b.4" "i5b.5" "i5b.6" "i5b.88" "i5b.a"
## [343] "i5b.90" "i6.1" "i6.2" "i6.3" "i6.4" "i6.5"
## [349] "i6.90" "i7a" "i7b" "i7c" "i8.1" "i8.2"
## [355] "i8.3" "i8.4" "i8.5" "i8.6" "i8.7" "i8.8"
## [361] "i8.88" "i8.a" "i9.1.1" "i9.1.2" "i9.1.3" "i9.1.4"
## [367] "i9.1.5" "i9.1.6" "i9.1.7" "i9.1.8" "i9.1.9" "i9.1.10"
## [373] "i9.1.88" "i9.1.a" "i9.2.1" "i9.2.2" "i9.2.3" "i9.2.4"
## [379] "i9.2.5" "i9.2.6" "i9.2.7" "i9.2.8" "i9.2.88" "i9.2.a"
## [385] "i10.1" "i10.2" "i10.3" "i10.4" "i10.5" "i10.6"
## [391] "i10.7" "i10.8" "i10.88" "i10.a" "i11.1" "i11.2"
## [397] "i11.3" "i11.4" "i11.5" "i11.6" "i11.7" "i11.8"
## [403] "i11.88" "i11.a" "i12.1" "i12.2.1" "i12.2.2" "i12.2.3"
## [409] "i12.2.4" "i12.2.5" "i12.2.6" "i12.2.7" "i12.2.8" "i12.2.88"
## [415] "i12.2.a" "n1.1" "n1.2" "n1.3" "n1.4" "n1.5"
## [421] "n1.6" "n1.7" "n1.8" "n1.9" "n1.10" "n2.1"
## [427] "n2.2" "n2.3" "n2.4" "n2.5" "n2.6" "n2.7"
## [433] "n2.8" "n2.9" "n2.10" "n2.11" "n2.12" "n2.13"
## [439] "n2.14" "j1a" "j1b.1" "j1b.2" "j1c.1" "j1c.2"
## [445] "j1c.3" "j1c.4" "j1c.5" "j1c.6" "j1c.8" "j1c.9"
## [451] "j1c.10" "j1c.11" "j1c.12" "j1c.13" "j1c.88" "j1c.a"
## [457] "j2.1" "j2.2" "j2.3" "j2.4" "j2.5" "j2.6"
## [463] "j2.7" "j2.8" "j2.9" "k1" "k2.1" "k2.2"
## [469] "k3.1" "k3.3" "k3.4" "k3.6" "k3.7" "k3.8"
## [475] "k3.88" "k3.a" "k4.1" "k4.2" "k4.3" "k4.4"
## [481] "k4.5" "k4.6" "k4.7" "k4.8" "k4.9" "k4.10"
## [487] "k4.11" "k4.12" "k4.13" "k4.14" "k4.15" "k4.88"
## [493] "k4.a" "k5.1" "k5.2" "k5.3" "k5.4" "k5.5"
## [499] "k5.6" "k6.1" "k6.2" "k6.3" "k6.4" "k7"
## [505] "k9.1" "k9.2" "k9.3" "k9.4" "k9.5" "k10"
## [511] "k11.1" "k11.2" "k11.3" "k11.4" "k11.5" "k12"
## [517] "k13" "k14" "k15.1" "k15.2" "k15.3" "k15.4"
## [523] "k15.5" "k15.6" "k15.7" "k15.88" "k15.a" "k16.1"
## [529] "k16.2" "l1a" "l1b" "l3a" "l3b" "l5.1"
## [535] "l5.2" "l6" "l7" "l8" "l9a" "l9b.1"
## [541] "l9b.2" "l9b.3" "l9b.4" "l10a" "l10b.1" "l10b.2"
## [547] "l10b.3" "l10b.4" "l11a" "l11b.1" "l11b.2" "l11b.3"
## [553] "l11b.4" "l12" "l13" "l14" "l14.a" "l15"
## [559] "m1.1" "m1.2" "m1.3" "m1.4" "m1.5" "m1.6"
## [565] "m1.7" "m1.8" "m1.9" "m2a.1" "m2a.2" "m2a.3"
## [571] "m2a.4" "m2a.5" "m2a.6" "m2a.7" "m2a.8" "m2a.9"
## [577] "n3a.1" "n3a.2" "n3a.3" "n3a.4" "n3a.5" "n3b"
## [583] "n4" "n5" "n6" "n7" "n8a" "n8b"
## [589] "n9.1" "n9.2" "n9.3" "n9.4" "n10a" "n10b"
## [595] "n11a" "n11b" "o1" "o1.a" "o2" "o2.a"
## [601] "o3a" "o3a.a" "o3b" "o3b.a" "o4" "ra2"
## [607] "rra2" "rcity" "ra9" "rb3a" "rb3b" "rb3c"
## [613] "rb3e" "rb4.1.a" "rrb4.1.a" "rb4.1.b" "rrb4.1.b" "rb4.2.a"
## [619] "rrb4.2.a" "rb4.2.b" "rrb4.2.b" "rb4.3.a" "rrb4.3.a" "rb4.3.b"
## [625] "rrb4.3.b" "rc1b" "rrc1b" "rc3b" "rrc3b" "rd1b"
## [631] "rrd1b" "rd2b" "rrd2b" "re2" "rre2" "rf2"
## [637] "rrf2" "rf4" "rrf4" "rf6" "rrf6" "rg2"
## [643] "rrg2" "rh4.1.a" "rrh4.1.a" "rh4.1.b" "rrh4.1.b" "rh4.2.a"
## [649] "rrh4.2.a" "rh4.2.b" "rrh4.2.b" "rh4.3.a" "rrh4.3.a" "rh4.3.b"
## [655] "rrh4.3.b" "rh5.8" "ri4.1" "ri4.2" "ri4.3" "ri4.4"
## [661] "ri4.5" "rj1b" "rrj1b" "rk2" "rrk2" "rl6"
## [667] "rl7" "ro3b.a" "weight"
df1 <- tcs2019[,c(3,165,166,168,169,171,174,180)]
# 複選題處理,需填補遺漏值為0
df1[is.na(df1)] <- 0
# 透過tidyr套件中的gather將寬格式轉為長格式(詳見ch12)
#install.packages("tidyr")
library(tidyr)
df2 <- gather(df1, key = "type", value = "count", g3.2,g3.3,g3.5,g3.6,g3.8,g3.11,g3.17)
## Warning: attributes are not identical across measure variables;
## they will be dropped
# 篩選出count==1的資料框
df3 <- subset(df2, count==1)
# 製作次數分配表
## 製表
# install.packages("sjPlot")
library(sjPlot)
sjt.xtab(tcs2019$g3.2, tcs2019$a1,encoding = "utf-8",
show.cell.prc = T,show.row.prc = T,show.col.prc = T)
| G3.請問你最常看哪些類型的戲劇節目?-愛情文藝 | A1.性別 | Total | |
|---|---|---|---|
| 男 | 女 | ||
| 愛情文藝 |
46 17.8 % 100 % 17.8 % |
213 82.2 % 100 % 82.2 % |
259 100 % 100 % 100 % |
| Total |
46 17.8 % 100 % 17.8 % |
213 82.2 % 100 % 82.2 % |
259 100 % 100 % 100 % |
χ2=107.680 · df=0 · φ=0.000 · p=0.000 |
sjt.xtab(df3$type, df3$a1,encoding = "utf-8",
show.cell.prc = T,show.row.prc = T,show.col.prc = T)
| type | a1 | Total | |
|---|---|---|---|
| 1 | 2 | ||
| g3.11 |
105 26.3 % 16.5 % 4.9 % |
294 73.7 % 19.4 % 13.7 % |
399 100 % 18.6 % 18.6 % |
| g3.17 |
76 36.9 % 11.9 % 3.5 % |
130 63.1 % 8.6 % 6.1 % |
206 100 % 9.6 % 9.6 % |
| g3.2 |
46 17.8 % 7.2 % 2.1 % |
213 82.2 % 14.1 % 9.9 % |
259 100 % 12.1 % 12 % |
| g3.3 |
83 24 % 13.1 % 3.9 % |
263 76 % 17.4 % 12.2 % |
346 100 % 16.1 % 16.1 % |
| g3.5 |
126 30.7 % 19.8 % 5.9 % |
284 69.3 % 18.8 % 13.2 % |
410 100 % 19.1 % 19.1 % |
| g3.6 |
107 43.3 % 16.8 % 5 % |
140 56.7 % 9.3 % 6.5 % |
247 100 % 11.5 % 11.5 % |
| g3.8 |
93 33.1 % 14.6 % 4.3 % |
188 66.9 % 12.4 % 8.8 % |
281 100 % 13.1 % 13.1 % |
| Total |
636 29.6 % 100 % 29.6 % |
1512 70.4 % 100 % 70.4 % |
2148 100 % 100 % 100 % |
χ2=54.176 · df=6 · Cramer’s V=0.159 · p=0.000 |
# 2. 安裝並載入 ggplot2
# install.packages("ggplot2")
# 載入 ggplot2
library(ggplot2)
# 解決Rstudio cloud圖形中文顯示問題
# install.packages("showtext")
library(showtext)
## Loading required package: sysfonts
## Loading required package: showtextdb
showtext_auto()
## 製圖
# 1. 變數處理
# (1) 將要繪製的變數變成類別變數或先進行排序
class(df3$type)
## [1] "character"
class(df3$a1)
## [1] "numeric"
df3$type <- as.factor(df3$type)
df3$a1 <- as.factor(df3$a1)
ggplot(df3,
aes(x=type, fill=a1))+
geom_bar(position = "dodge")+
labs(title = "男女常看各戲劇節目比較",x="戲劇節目種類",y="人數",
subtitle="男、女性常看的戲劇節目種類是否有差異?",
caption="資料來源:台灣傳播資料庫")+
scale_x_discrete(labels = c("g3.11"="家庭劇","g3.17"="社會寫實",
"g3.2"="愛情文藝","g3.3"="宮廷劇",
"g3.5"="鄉土劇","g3.6"="歷史劇","g3.8"="喜劇"))+
theme(axis.title.y = element_text(vjust = 0.5, hjust = 0.5, angle = 0))+
scale_fill_discrete("性別",labels=c("1"="男性","2"="女性"))+
scale_fill_manual(name="性別",
values=c("1"="steelblue1", "2"="rosybrown2"),
labels=c("男性", "女性"))
## Scale for 'fill' is already present. Adding another scale for 'fill', which
## will replace the existing scale.
# RQ2:男、女性在看劇的時間是否有差異?
# 所需分析變數
# 性別:a1
# 看劇時間:rg2
# 將所需變數,創資料框
names(tcs2019)
## [1] "id" "type" "a1" "a2" "a3" "a3.a"
## [7] "a4" "a5.1" "a6" "a6.a" "a7" "a7.a"
## [13] "a8" "a8.a" "a9" "a9.a" "b1" "b2a"
## [19] "b3a" "b3b" "b3c" "b3d" "b3e" "b3f"
## [25] "b4.1.a.1" "b4.1.a.2" "b4.1.b.1" "b4.1.b.2" "b4.2.a.1" "b4.2.a.2"
## [31] "b4.2.b.1" "b4.2.b.2" "b4.3.a.1" "b4.3.a.2" "b4.3.b.1" "b4.3.b.2"
## [37] "c1a" "c1b.1" "c1b.2" "c1c.1" "c1c.2" "c1c.3"
## [43] "c1c.4" "c1c.5" "c1c.6" "c1c.7" "c1c.13" "c1c.12"
## [49] "c1c.36" "c1c.10" "c1c.14" "c1c.17" "c1c.11" "c1c.15"
## [55] "c1c.19" "c1c.41" "c1c.42" "c1c.43" "c1c.28" "c1c.35"
## [61] "c1c.16" "c1c.20" "c1c.21" "c1c.22" "c1c.26" "c1c.30"
## [67] "c1c.31" "c1c.32" "c1c.33" "c1c.34" "c1c.37" "c1c.38"
## [73] "c1c.40" "c1c.44" "c1c.88" "c1c.a" "c3a" "c3b.1"
## [79] "c3b.2" "c3c.24" "c3c.28" "c3c.21" "c3c.26" "c3c.6"
## [85] "c3c.1" "c3c.2" "c3c.4" "c3c.5" "c3c.18" "c3c.8"
## [91] "c3c.17" "c3c.19" "c3c.9" "c3c.23" "c3c.16" "c3c.13"
## [97] "c3c.22" "c3c.11" "c3c.15" "c3c.14" "c3c.20" "c3c.12"
## [103] "c3c.10" "c3c.25" "c3c.27" "c3c.7" "c3c.29" "c3c.30"
## [109] "c3c.32" "c3c.33" "c3c.34" "c3c.35" "c3c.36" "c3c.37"
## [115] "c3c.38" "c3c.39" "c3c.40" "c3c.41" "c3c.42" "c3c.43"
## [121] "c3c.44" "c3c.45" "c3c.46" "c3c.47" "c3c.48" "c3c.49"
## [127] "c3c.50" "c3c.51" "c3c.52" "c3c.53" "c3c.54" "c3c.55"
## [133] "c3c.56" "c3c.57" "c3c.58" "c3c.59" "c3c.60" "c3c.61"
## [139] "c3c.88" "c3c.a" "d1a" "d1b.1" "d1b.2" "d2a"
## [145] "d2b.1" "d2b.2" "e1" "e2.1" "e2.2" "f1"
## [151] "f2.1" "f2.2" "f3" "f4.1" "f4.2" "f5"
## [157] "f6.1" "f6.2" "f7" "f7.a" "g1" "g2.1"
## [163] "g2.2" "g3.1" "g3.2" "g3.3" "g3.4" "g3.5"
## [169] "g3.6" "g3.7" "g3.8" "g3.9" "g3.10" "g3.11"
## [175] "g3.12" "g3.13" "g3.14" "g3.15" "g3.16" "g3.17"
## [181] "g3.18" "g3.19" "g3.20" "g3.21" "g3.22" "g3.23"
## [187] "g3.24" "g3.25" "g3.26" "g3.27" "g3.28" "g3.29"
## [193] "g3.30" "g3.31" "g3.32" "g3.33" "g3.34" "g3.35"
## [199] "g3.36" "g3.88" "g3.a" "g4.1" "g4.1.a" "g4.2"
## [205] "g4.2.a" "g5.0.1" "g5.0.2" "g5.0.3" "g5.0.4" "g5.0.5"
## [211] "g5.0.6" "g5.0.7" "g5.0.8" "g5.0.9" "g5.0.10" "g5.0.11"
## [217] "g5.0.12" "g5.0.13" "g5.0.14" "g5.0.15" "g5.0.88" "g5.0.a"
## [223] "g5.5" "g5.6" "g5.7" "g5.8" "g5.9" "g5.10"
## [229] "g5.11" "g5.12" "g5.14" "h1" "h2" "h3"
## [235] "h4.1.a.1" "h4.1.a.2" "h4.1.b.1" "h4.1.b.2" "h4.2.a.1" "h4.2.a.2"
## [241] "h4.2.b.1" "h4.2.b.2" "h4.3.a.1" "h4.3.a.2" "h4.3.b.1" "h4.3.b.2"
## [247] "h5.1" "h5.2" "h5.3" "h5.4" "h5.5" "h5.6"
## [253] "h5.7" "h5.8" "ha1" "ha2" "ha3a.1" "ha3a.2"
## [259] "ha3a.3" "ha3a.4" "ha3a.5" "ha3a.6" "ha3a.7" "ha3a.99"
## [265] "ha3b.1" "ha3b.2" "ha3b.3" "ha3b.4" "ha3b.5" "ha3b.6"
## [271] "ha3b.7" "ha3b.99" "ha4" "ha5a.1" "ha5a.2" "ha5a.3"
## [277] "ha5a.4" "ha5a.5" "ha5a.6" "ha5a.99" "ha5b.1" "ha5b.2"
## [283] "ha5b.3" "ha5b.4" "ha5b.5" "ha5b.6" "ha5b.99" "ha5c.1"
## [289] "ha5c.2" "ha5c.3" "ha5c.4" "ha5c.5" "ha5c.6" "ha5c.99"
## [295] "ha6.1" "ha6.2" "ha6.3" "ha6.4" "ha6.5" "ha6.6"
## [301] "ha6.7" "ha6.99" "ha7.1" "ha7.2" "ha7.3" "ha7.4"
## [307] "ha7.5" "ha7.6" "ha7.7" "ha7.99" "i1" "i1.a"
## [313] "i2" "i2.a" "i3" "i3.a" "i4.1" "i4.2"
## [319] "i4.3" "i4.4" "i4.5" "i5a.1" "i5a.2" "i5a.3"
## [325] "i5a.4" "i5a.5" "i5a.6" "i5a.7" "i5a.8" "i5a.9"
## [331] "i5a.10" "i5a.88" "i5a.a" "i5a.90" "i5b.1" "i5b.2"
## [337] "i5b.3" "i5b.4" "i5b.5" "i5b.6" "i5b.88" "i5b.a"
## [343] "i5b.90" "i6.1" "i6.2" "i6.3" "i6.4" "i6.5"
## [349] "i6.90" "i7a" "i7b" "i7c" "i8.1" "i8.2"
## [355] "i8.3" "i8.4" "i8.5" "i8.6" "i8.7" "i8.8"
## [361] "i8.88" "i8.a" "i9.1.1" "i9.1.2" "i9.1.3" "i9.1.4"
## [367] "i9.1.5" "i9.1.6" "i9.1.7" "i9.1.8" "i9.1.9" "i9.1.10"
## [373] "i9.1.88" "i9.1.a" "i9.2.1" "i9.2.2" "i9.2.3" "i9.2.4"
## [379] "i9.2.5" "i9.2.6" "i9.2.7" "i9.2.8" "i9.2.88" "i9.2.a"
## [385] "i10.1" "i10.2" "i10.3" "i10.4" "i10.5" "i10.6"
## [391] "i10.7" "i10.8" "i10.88" "i10.a" "i11.1" "i11.2"
## [397] "i11.3" "i11.4" "i11.5" "i11.6" "i11.7" "i11.8"
## [403] "i11.88" "i11.a" "i12.1" "i12.2.1" "i12.2.2" "i12.2.3"
## [409] "i12.2.4" "i12.2.5" "i12.2.6" "i12.2.7" "i12.2.8" "i12.2.88"
## [415] "i12.2.a" "n1.1" "n1.2" "n1.3" "n1.4" "n1.5"
## [421] "n1.6" "n1.7" "n1.8" "n1.9" "n1.10" "n2.1"
## [427] "n2.2" "n2.3" "n2.4" "n2.5" "n2.6" "n2.7"
## [433] "n2.8" "n2.9" "n2.10" "n2.11" "n2.12" "n2.13"
## [439] "n2.14" "j1a" "j1b.1" "j1b.2" "j1c.1" "j1c.2"
## [445] "j1c.3" "j1c.4" "j1c.5" "j1c.6" "j1c.8" "j1c.9"
## [451] "j1c.10" "j1c.11" "j1c.12" "j1c.13" "j1c.88" "j1c.a"
## [457] "j2.1" "j2.2" "j2.3" "j2.4" "j2.5" "j2.6"
## [463] "j2.7" "j2.8" "j2.9" "k1" "k2.1" "k2.2"
## [469] "k3.1" "k3.3" "k3.4" "k3.6" "k3.7" "k3.8"
## [475] "k3.88" "k3.a" "k4.1" "k4.2" "k4.3" "k4.4"
## [481] "k4.5" "k4.6" "k4.7" "k4.8" "k4.9" "k4.10"
## [487] "k4.11" "k4.12" "k4.13" "k4.14" "k4.15" "k4.88"
## [493] "k4.a" "k5.1" "k5.2" "k5.3" "k5.4" "k5.5"
## [499] "k5.6" "k6.1" "k6.2" "k6.3" "k6.4" "k7"
## [505] "k9.1" "k9.2" "k9.3" "k9.4" "k9.5" "k10"
## [511] "k11.1" "k11.2" "k11.3" "k11.4" "k11.5" "k12"
## [517] "k13" "k14" "k15.1" "k15.2" "k15.3" "k15.4"
## [523] "k15.5" "k15.6" "k15.7" "k15.88" "k15.a" "k16.1"
## [529] "k16.2" "l1a" "l1b" "l3a" "l3b" "l5.1"
## [535] "l5.2" "l6" "l7" "l8" "l9a" "l9b.1"
## [541] "l9b.2" "l9b.3" "l9b.4" "l10a" "l10b.1" "l10b.2"
## [547] "l10b.3" "l10b.4" "l11a" "l11b.1" "l11b.2" "l11b.3"
## [553] "l11b.4" "l12" "l13" "l14" "l14.a" "l15"
## [559] "m1.1" "m1.2" "m1.3" "m1.4" "m1.5" "m1.6"
## [565] "m1.7" "m1.8" "m1.9" "m2a.1" "m2a.2" "m2a.3"
## [571] "m2a.4" "m2a.5" "m2a.6" "m2a.7" "m2a.8" "m2a.9"
## [577] "n3a.1" "n3a.2" "n3a.3" "n3a.4" "n3a.5" "n3b"
## [583] "n4" "n5" "n6" "n7" "n8a" "n8b"
## [589] "n9.1" "n9.2" "n9.3" "n9.4" "n10a" "n10b"
## [595] "n11a" "n11b" "o1" "o1.a" "o2" "o2.a"
## [601] "o3a" "o3a.a" "o3b" "o3b.a" "o4" "ra2"
## [607] "rra2" "rcity" "ra9" "rb3a" "rb3b" "rb3c"
## [613] "rb3e" "rb4.1.a" "rrb4.1.a" "rb4.1.b" "rrb4.1.b" "rb4.2.a"
## [619] "rrb4.2.a" "rb4.2.b" "rrb4.2.b" "rb4.3.a" "rrb4.3.a" "rb4.3.b"
## [625] "rrb4.3.b" "rc1b" "rrc1b" "rc3b" "rrc3b" "rd1b"
## [631] "rrd1b" "rd2b" "rrd2b" "re2" "rre2" "rf2"
## [637] "rrf2" "rf4" "rrf4" "rf6" "rrf6" "rg2"
## [643] "rrg2" "rh4.1.a" "rrh4.1.a" "rh4.1.b" "rrh4.1.b" "rh4.2.a"
## [649] "rrh4.2.a" "rh4.2.b" "rrh4.2.b" "rh4.3.a" "rrh4.3.a" "rh4.3.b"
## [655] "rrh4.3.b" "rh5.8" "ri4.1" "ri4.2" "ri4.3" "ri4.4"
## [661] "ri4.5" "rj1b" "rrj1b" "rk2" "rrk2" "rl6"
## [667] "rl7" "ro3b.a" "weight"
df1 <- tcs2019[,c(3,642)]
# 製表且創造繪圖的資料框
library(dplyr)
##
## Attaching package: 'dplyr'
## The following object is masked from 'package:sjlabelled':
##
## as_label
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
df2 <- df1 %>%
group_by(a1) %>%
summarise(time = mean(rg2, na.rm=T))
# View(df2)
# 2. 安裝並載入 ggplot2
# install.packages("ggplot2")
# 載入 ggplot2
library(ggplot2)
# 解決Rstudio cloud圖形中文顯示問題
# install.packages("showtext")
library(showtext)
showtext_auto()
## 製圖
# 1. 變數處理
# (1) 將要繪製的變數變成類別變數或先進行排序
class(df2$time)
## [1] "numeric"
class(df2$a1)
## [1] "numeric"
df2$a1 <- as.factor(df2$a1)
ggplot(df2,
aes(x=a1, y=time, fill=a1))+
geom_bar(stat = "identity")+
labs(title = "男女生看各戲劇平均時間",x="性別",y="看劇時間(分鐘)",
subtitle="男、女性在看劇的時間是否有差異?",
caption="資料來源:台灣傳播資料庫")+
scale_x_discrete(labels = c("1"="男性","2"="女性"))+
theme(axis.title.y = element_text(vjust = 0.5, hjust = 0.5, angle = 0))+
scale_fill_discrete("性別",labels=c("1"="男性","2"="女性"))+
scale_fill_manual(name="性別",
values=c("1"="steelblue1", "2"="rosybrown2"),
labels=c("男性", "女性"))
## Scale for 'fill' is already present. Adding another scale for 'fill', which
## will replace the existing scale.
##繪圖參考同上
# RQ3:男、女性在不同戲劇節目的看劇時間是否有差異?
# 所需分析變數
# 性別:a1
# 戲劇類型(>200):g3.2,g3.3,g3.5,g3.6,g3.8,g3.11,g3.17
# 看劇時間:rg2
# 將所需變數,創資料框
names(tcs2019)
## [1] "id" "type" "a1" "a2" "a3" "a3.a"
## [7] "a4" "a5.1" "a6" "a6.a" "a7" "a7.a"
## [13] "a8" "a8.a" "a9" "a9.a" "b1" "b2a"
## [19] "b3a" "b3b" "b3c" "b3d" "b3e" "b3f"
## [25] "b4.1.a.1" "b4.1.a.2" "b4.1.b.1" "b4.1.b.2" "b4.2.a.1" "b4.2.a.2"
## [31] "b4.2.b.1" "b4.2.b.2" "b4.3.a.1" "b4.3.a.2" "b4.3.b.1" "b4.3.b.2"
## [37] "c1a" "c1b.1" "c1b.2" "c1c.1" "c1c.2" "c1c.3"
## [43] "c1c.4" "c1c.5" "c1c.6" "c1c.7" "c1c.13" "c1c.12"
## [49] "c1c.36" "c1c.10" "c1c.14" "c1c.17" "c1c.11" "c1c.15"
## [55] "c1c.19" "c1c.41" "c1c.42" "c1c.43" "c1c.28" "c1c.35"
## [61] "c1c.16" "c1c.20" "c1c.21" "c1c.22" "c1c.26" "c1c.30"
## [67] "c1c.31" "c1c.32" "c1c.33" "c1c.34" "c1c.37" "c1c.38"
## [73] "c1c.40" "c1c.44" "c1c.88" "c1c.a" "c3a" "c3b.1"
## [79] "c3b.2" "c3c.24" "c3c.28" "c3c.21" "c3c.26" "c3c.6"
## [85] "c3c.1" "c3c.2" "c3c.4" "c3c.5" "c3c.18" "c3c.8"
## [91] "c3c.17" "c3c.19" "c3c.9" "c3c.23" "c3c.16" "c3c.13"
## [97] "c3c.22" "c3c.11" "c3c.15" "c3c.14" "c3c.20" "c3c.12"
## [103] "c3c.10" "c3c.25" "c3c.27" "c3c.7" "c3c.29" "c3c.30"
## [109] "c3c.32" "c3c.33" "c3c.34" "c3c.35" "c3c.36" "c3c.37"
## [115] "c3c.38" "c3c.39" "c3c.40" "c3c.41" "c3c.42" "c3c.43"
## [121] "c3c.44" "c3c.45" "c3c.46" "c3c.47" "c3c.48" "c3c.49"
## [127] "c3c.50" "c3c.51" "c3c.52" "c3c.53" "c3c.54" "c3c.55"
## [133] "c3c.56" "c3c.57" "c3c.58" "c3c.59" "c3c.60" "c3c.61"
## [139] "c3c.88" "c3c.a" "d1a" "d1b.1" "d1b.2" "d2a"
## [145] "d2b.1" "d2b.2" "e1" "e2.1" "e2.2" "f1"
## [151] "f2.1" "f2.2" "f3" "f4.1" "f4.2" "f5"
## [157] "f6.1" "f6.2" "f7" "f7.a" "g1" "g2.1"
## [163] "g2.2" "g3.1" "g3.2" "g3.3" "g3.4" "g3.5"
## [169] "g3.6" "g3.7" "g3.8" "g3.9" "g3.10" "g3.11"
## [175] "g3.12" "g3.13" "g3.14" "g3.15" "g3.16" "g3.17"
## [181] "g3.18" "g3.19" "g3.20" "g3.21" "g3.22" "g3.23"
## [187] "g3.24" "g3.25" "g3.26" "g3.27" "g3.28" "g3.29"
## [193] "g3.30" "g3.31" "g3.32" "g3.33" "g3.34" "g3.35"
## [199] "g3.36" "g3.88" "g3.a" "g4.1" "g4.1.a" "g4.2"
## [205] "g4.2.a" "g5.0.1" "g5.0.2" "g5.0.3" "g5.0.4" "g5.0.5"
## [211] "g5.0.6" "g5.0.7" "g5.0.8" "g5.0.9" "g5.0.10" "g5.0.11"
## [217] "g5.0.12" "g5.0.13" "g5.0.14" "g5.0.15" "g5.0.88" "g5.0.a"
## [223] "g5.5" "g5.6" "g5.7" "g5.8" "g5.9" "g5.10"
## [229] "g5.11" "g5.12" "g5.14" "h1" "h2" "h3"
## [235] "h4.1.a.1" "h4.1.a.2" "h4.1.b.1" "h4.1.b.2" "h4.2.a.1" "h4.2.a.2"
## [241] "h4.2.b.1" "h4.2.b.2" "h4.3.a.1" "h4.3.a.2" "h4.3.b.1" "h4.3.b.2"
## [247] "h5.1" "h5.2" "h5.3" "h5.4" "h5.5" "h5.6"
## [253] "h5.7" "h5.8" "ha1" "ha2" "ha3a.1" "ha3a.2"
## [259] "ha3a.3" "ha3a.4" "ha3a.5" "ha3a.6" "ha3a.7" "ha3a.99"
## [265] "ha3b.1" "ha3b.2" "ha3b.3" "ha3b.4" "ha3b.5" "ha3b.6"
## [271] "ha3b.7" "ha3b.99" "ha4" "ha5a.1" "ha5a.2" "ha5a.3"
## [277] "ha5a.4" "ha5a.5" "ha5a.6" "ha5a.99" "ha5b.1" "ha5b.2"
## [283] "ha5b.3" "ha5b.4" "ha5b.5" "ha5b.6" "ha5b.99" "ha5c.1"
## [289] "ha5c.2" "ha5c.3" "ha5c.4" "ha5c.5" "ha5c.6" "ha5c.99"
## [295] "ha6.1" "ha6.2" "ha6.3" "ha6.4" "ha6.5" "ha6.6"
## [301] "ha6.7" "ha6.99" "ha7.1" "ha7.2" "ha7.3" "ha7.4"
## [307] "ha7.5" "ha7.6" "ha7.7" "ha7.99" "i1" "i1.a"
## [313] "i2" "i2.a" "i3" "i3.a" "i4.1" "i4.2"
## [319] "i4.3" "i4.4" "i4.5" "i5a.1" "i5a.2" "i5a.3"
## [325] "i5a.4" "i5a.5" "i5a.6" "i5a.7" "i5a.8" "i5a.9"
## [331] "i5a.10" "i5a.88" "i5a.a" "i5a.90" "i5b.1" "i5b.2"
## [337] "i5b.3" "i5b.4" "i5b.5" "i5b.6" "i5b.88" "i5b.a"
## [343] "i5b.90" "i6.1" "i6.2" "i6.3" "i6.4" "i6.5"
## [349] "i6.90" "i7a" "i7b" "i7c" "i8.1" "i8.2"
## [355] "i8.3" "i8.4" "i8.5" "i8.6" "i8.7" "i8.8"
## [361] "i8.88" "i8.a" "i9.1.1" "i9.1.2" "i9.1.3" "i9.1.4"
## [367] "i9.1.5" "i9.1.6" "i9.1.7" "i9.1.8" "i9.1.9" "i9.1.10"
## [373] "i9.1.88" "i9.1.a" "i9.2.1" "i9.2.2" "i9.2.3" "i9.2.4"
## [379] "i9.2.5" "i9.2.6" "i9.2.7" "i9.2.8" "i9.2.88" "i9.2.a"
## [385] "i10.1" "i10.2" "i10.3" "i10.4" "i10.5" "i10.6"
## [391] "i10.7" "i10.8" "i10.88" "i10.a" "i11.1" "i11.2"
## [397] "i11.3" "i11.4" "i11.5" "i11.6" "i11.7" "i11.8"
## [403] "i11.88" "i11.a" "i12.1" "i12.2.1" "i12.2.2" "i12.2.3"
## [409] "i12.2.4" "i12.2.5" "i12.2.6" "i12.2.7" "i12.2.8" "i12.2.88"
## [415] "i12.2.a" "n1.1" "n1.2" "n1.3" "n1.4" "n1.5"
## [421] "n1.6" "n1.7" "n1.8" "n1.9" "n1.10" "n2.1"
## [427] "n2.2" "n2.3" "n2.4" "n2.5" "n2.6" "n2.7"
## [433] "n2.8" "n2.9" "n2.10" "n2.11" "n2.12" "n2.13"
## [439] "n2.14" "j1a" "j1b.1" "j1b.2" "j1c.1" "j1c.2"
## [445] "j1c.3" "j1c.4" "j1c.5" "j1c.6" "j1c.8" "j1c.9"
## [451] "j1c.10" "j1c.11" "j1c.12" "j1c.13" "j1c.88" "j1c.a"
## [457] "j2.1" "j2.2" "j2.3" "j2.4" "j2.5" "j2.6"
## [463] "j2.7" "j2.8" "j2.9" "k1" "k2.1" "k2.2"
## [469] "k3.1" "k3.3" "k3.4" "k3.6" "k3.7" "k3.8"
## [475] "k3.88" "k3.a" "k4.1" "k4.2" "k4.3" "k4.4"
## [481] "k4.5" "k4.6" "k4.7" "k4.8" "k4.9" "k4.10"
## [487] "k4.11" "k4.12" "k4.13" "k4.14" "k4.15" "k4.88"
## [493] "k4.a" "k5.1" "k5.2" "k5.3" "k5.4" "k5.5"
## [499] "k5.6" "k6.1" "k6.2" "k6.3" "k6.4" "k7"
## [505] "k9.1" "k9.2" "k9.3" "k9.4" "k9.5" "k10"
## [511] "k11.1" "k11.2" "k11.3" "k11.4" "k11.5" "k12"
## [517] "k13" "k14" "k15.1" "k15.2" "k15.3" "k15.4"
## [523] "k15.5" "k15.6" "k15.7" "k15.88" "k15.a" "k16.1"
## [529] "k16.2" "l1a" "l1b" "l3a" "l3b" "l5.1"
## [535] "l5.2" "l6" "l7" "l8" "l9a" "l9b.1"
## [541] "l9b.2" "l9b.3" "l9b.4" "l10a" "l10b.1" "l10b.2"
## [547] "l10b.3" "l10b.4" "l11a" "l11b.1" "l11b.2" "l11b.3"
## [553] "l11b.4" "l12" "l13" "l14" "l14.a" "l15"
## [559] "m1.1" "m1.2" "m1.3" "m1.4" "m1.5" "m1.6"
## [565] "m1.7" "m1.8" "m1.9" "m2a.1" "m2a.2" "m2a.3"
## [571] "m2a.4" "m2a.5" "m2a.6" "m2a.7" "m2a.8" "m2a.9"
## [577] "n3a.1" "n3a.2" "n3a.3" "n3a.4" "n3a.5" "n3b"
## [583] "n4" "n5" "n6" "n7" "n8a" "n8b"
## [589] "n9.1" "n9.2" "n9.3" "n9.4" "n10a" "n10b"
## [595] "n11a" "n11b" "o1" "o1.a" "o2" "o2.a"
## [601] "o3a" "o3a.a" "o3b" "o3b.a" "o4" "ra2"
## [607] "rra2" "rcity" "ra9" "rb3a" "rb3b" "rb3c"
## [613] "rb3e" "rb4.1.a" "rrb4.1.a" "rb4.1.b" "rrb4.1.b" "rb4.2.a"
## [619] "rrb4.2.a" "rb4.2.b" "rrb4.2.b" "rb4.3.a" "rrb4.3.a" "rb4.3.b"
## [625] "rrb4.3.b" "rc1b" "rrc1b" "rc3b" "rrc3b" "rd1b"
## [631] "rrd1b" "rd2b" "rrd2b" "re2" "rre2" "rf2"
## [637] "rrf2" "rf4" "rrf4" "rf6" "rrf6" "rg2"
## [643] "rrg2" "rh4.1.a" "rrh4.1.a" "rh4.1.b" "rrh4.1.b" "rh4.2.a"
## [649] "rrh4.2.a" "rh4.2.b" "rrh4.2.b" "rh4.3.a" "rrh4.3.a" "rh4.3.b"
## [655] "rrh4.3.b" "rh5.8" "ri4.1" "ri4.2" "ri4.3" "ri4.4"
## [661] "ri4.5" "rj1b" "rrj1b" "rk2" "rrk2" "rl6"
## [667] "rl7" "ro3b.a" "weight"
df1 <- tcs2019[,c(3,642,165,166,168,169,171,174,180)]
# 複選題處理,需填補遺漏值為0
df1[is.na(df1)] <- 0
# 透過tidyr套件中的gather將寬格式轉為長格式(詳見ch12)
# install.packages("tidyr")
library(tidyr)
df2 <- gather(df1, key = "type", value = "count", g3.2,g3.3,g3.5,g3.6,g3.8,g3.11,g3.17)
## Warning: attributes are not identical across measure variables;
## they will be dropped
# 篩選出count==1的資料框
df3 <- subset(df2, count==1)
# 製表且創造繪圖的資料框
library(dplyr)
df4 <- df3 %>%
group_by(type,a1) %>%
summarise(time = mean(rg2, na.rm=T))
## `summarise()` has grouped output by 'type'. You can override using the `.groups` argument.
# View(df4)
# 2. 安裝並載入 ggplot2
# install.packages("ggplot2")
# 載入 ggplot2
library(ggplot2)
# 解決Rstudio cloud圖形中文顯示問題
# install.packages("showtext")
library(showtext)
showtext_auto()
## 製圖
# 1. 變數處理
# (1) 將要繪製的變數變成類別變數或先進行排序
class(df4$time)
## [1] "numeric"
class(df4$a1)
## [1] "numeric"
class(df4$type)
## [1] "character"
df4$a1 <- as.factor(df4$a1)
df4$type <- as.factor(df4$type)
library(ggrepel)
library(RColorBrewer)
ggplot(df4, aes(x=type, y=time,color=a1, group=a1))+
geom_line()+
geom_point()+
ylim(0,150)+
labs(title = "男女不同節目看劇時間比較",x="戲劇節目種類",y="看劇時間(分鐘)",
subtitle="男、女性在不同戲劇節目的看劇時間是否有差異?",
caption="資料來源:台灣傳播資料庫")+
scale_x_discrete(labels = c("g3.11"="家庭劇","g3.17"="社會寫實",
"g3.2"="愛情文藝","g3.3"="宮廷劇",
"g3.5"="鄉土劇","g3.6"="歷史劇","g3.8"="喜劇"))+
theme(axis.title.y = element_text(vjust = 0.5, hjust = 0.5, angle = 0))+
scale_color_manual(name="性別",
values=c("1"="blue", "2"="red"),
labels=c("男性", "女性"))
### 繪圖參考RQ7:多年期的不同上網裝置使用天數的變