114-2 探索式分析
期末專案

2023年文化參與及消費調查之探索性分析

Author

施妤諼

Due Date

May 7, 2026

ᴄᴏᴅᴇ
library(readr)
library(sjmisc)
Warning: package 'sjmisc' was built under R version 4.5.2
ᴄᴏᴅᴇ
library(sjlabelled)
library(sjPlot)
library(ggplot2)

Attaching package: 'ggplot2'
The following object is masked from 'package:sjPlot':

    set_theme
The following object is masked from 'package:sjlabelled':

    as_label
ᴄᴏᴅᴇ
knitr::opts_chunk$set(
  dev.args = list(bg = "transparent"),
  bg = "transparent"
)
theme_set(theme_minimal() +
  theme(
    plot.background   = element_rect(fill = "transparent", color = NA),
    panel.background  = element_rect(fill = "transparent", color = NA),
    legend.background = element_rect(fill = "transparent", color = NA)
  ))
ᴄᴏᴅᴇ
# 讀取原始資料
culture_temp <- read_csv(
  "2023年文化參與及消費調查/2023年文化參與及消費調查.csv",
  locale = locale(encoding = "UTF-8"),
  show_col_types = FALSE
)
 
varlabels <- colnames(culture_temp)
 
culture <- read_csv(
  "2023年文化參與及消費調查/2023年文化參與及消費調查.csv",
  locale = locale(encoding = "UTF-8"),
  show_col_types = FALSE,
  col_names = FALSE,
  skip = 1
)
 
names(culture) <- varlabels
set_label(culture) <- varlabels
 
culture <- set_na(culture, na = c(97, 98, "NA"))
 
culture_original <- culture
save(culture_original, file = "culture_original.rda", compress = TRUE)

第三章 研究方法

壹、資料來源與研究設計

一、資料庫說明
(一)資料集選定與調查背景

  本研究使用2023年文化參與及消費調查資料庫,資料來源為文化部,自2005年起每年執行,是台灣針對民眾文化參與行為與消費支出最長期、最系統性的官方追蹤調查。調查涵蓋電影、電視廣播、閱讀、表演藝術、視覺藝術、文藝民俗節慶、文化機構設施、線上文化參與、文化技藝學習與發表,以及文化消費等十大面向,是目前國內最全面的文化行為橫截面資料。

(二)研究實施與樣本規模

  本調查以台灣15歲以上民眾為訪問對象,調查範圍涵蓋台灣22縣市(含離島)。調查依縣市人口比例進行分層抽樣,確保樣本具全國代表性。資料收集期間為2024年,確切有效樣本數(N)待資料申請核准後確認。

二、研究方向與設計
(一)研究問題

  文化部長期推動藝文扎根政策,鼓勵民眾學習文化技藝,期待藉此培養文化素養並帶動文化消費市場成長。然而文化消費的高低究竟由什麼因素驅動,目前尚缺乏系統性的實證檢驗。

  本研究以探索為主要目的,嘗試觀察台灣民眾的文化技藝學習經歷與線上文化參與習慣,是否與文化消費金額存在關聯,以及在納入收入、教育、職業等社經條件後,這些關聯會如何變化。

(二)研究設計

  本研究採實證量化分析法,以多重對應分析探索各變數類別在空間上的分布,觀察不同人口特徵群體的消費輪廓。

(三)變數清理
ᴄᴏᴅᴇ
library(sjmisc)
library(sjlabelled)
library(sjPlot)
library(ggplot2)

load("culture_original.rda")
culture <- culture_original
ᴄᴏᴅᴇ
# v33 整體文化消費金額(Q33)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v33 <- set_labels(culture$v33,
  labels = c(
    "1,000元及以下"     = 1,
    "1,001~5,000元"     = 2,
    "5,001~10,000元"    = 3,
    "10,001~20,000元"   = 4,
    "20,001~30,000元"   = 5,
    "30,001~50,000元"   = 6,
    "50,001~100,000元"  = 7,
    "100,001~150,000元" = 8,
    "150,001~200,000元" = 9,
    "200,000元以上"     = 10
  ))
culture$v33 <- set_label(culture$v33, label = "整體文化消費金額")
 
# 二元化:5,000元以下為低消費,5,001元以上為高消費
culture$v33r <- rec(
  culture$v33,
  rec = "1,2=0 [低消費(5,000元以下)]; 3:10=1 [高消費(5,001元以上)]",
  var.label = "是否為高文化消費者",
  as.num = F
)
 
frq(culture$v33r, out = "v")
是否為高文化消費者 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 低消費(5,000元以下) 2612 36.79 57.52 57.52
1 高消費(5,001元以上) 1929 27.17 42.48 100.00
NA NA 2559 36.04 NA NA
total N=7100 · valid N=4541 · x̄=0.42 · σ=0.49
ᴄᴏᴅᴇ
# v01 居住縣市(Q1)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v01 <- set_labels(culture$v01,
  labels = c(
    "新北市" = 1,  "臺北市" = 2,  "桃園市" = 3,
    "臺中市" = 4,  "臺南市" = 5,  "高雄市" = 6,
    "宜蘭縣" = 7,  "新竹縣" = 8,  "苗栗縣" = 9,
    "彰化縣" = 10, "南投縣" = 11, "雲林縣" = 12,
    "嘉義縣" = 13, "屏東縣" = 14, "臺東縣" = 15,
    "花蓮縣" = 16, "澎湖縣" = 17, "基隆市" = 18,
    "新竹市" = 19, "嘉義市" = 20, "金門縣" = 21,
    "連江縣" = 22
  ))
culture$v01 <- set_label(culture$v01, label = "居住縣市")
 
# 二元化:六都 vs 非六都
culture$v01r <- rec(
  culture$v01,
  rec = "1:6=1 [六都]; else=0 [非六都]",
  var.label = "是否居住於六都",
  as.num = F
)
 
frq(culture$v01r, out = "v")
是否居住於六都 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 非六都 2122 29.89 29.89 29.89
1 六都 4978 70.11 70.11 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=0.70 · σ=0.46
ᴄᴏᴅᴇ
# v05 電影(Q5)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
# v05:近一年是否去過電影院(0=沒有,1=有)
culture$v05 <- set_labels(culture$v05,
  labels = c("沒有去過電影院" = 0, "曾去電影院" = 1))
culture$v05 <- set_label(culture$v05, label = "近一年是否曾去電影院")
 
culture$v05r <- rec(
  culture$v05,
  rec = "0=0 [未去過電影院]; 1=1 [曾去電影院]",
  var.label = "近一年是否曾去電影院",
  as.num = F
)
 
# v05_1:去電影院場次數(連續)→ 高頻(>= 6場)vs 低頻
culture$v05_1 <- set_label(culture$v05_1, label = "近一年到電影院場次(次/年)")
culture$v05_1r <- rec(
  culture$v05_1,
  rec = "0=0 [未去]; 1:5=1 [低頻(1-5場)]; 6:hi=2 [高頻(6場以上)]",
  var.label = "近一年到電影院頻率分類",
  as.num = F
)
 
frq(culture$v05r, out = "v")
近一年是否曾去電影院 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 未去過電影院 4267 60.10 60.10 60.10
1 曾去電影院 2833 39.90 39.90 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=0.40 · σ=0.49
ᴄᴏᴅᴇ
# v06 電視(Q6)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v06 <- set_labels(culture$v06,
  labels = c("未看電視" = 0, "有看電視" = 1))
culture$v06 <- set_label(culture$v06, label = "近一年是否有看電視")
 
culture$v06r <- rec(
  culture$v06,
  rec = "0=0 [未看電視]; 1=1 [有看電視習慣]",
  var.label = "近一年是否有看電視習慣",
  as.num = F
)
 
frq(culture$v06r, out = "v")
近一年是否有看電視習慣 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 未看電視 1456 20.51 20.51 20.51
1 有看電視習慣 5644 79.49 79.49 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=0.79 · σ=0.40
ᴄᴏᴅᴇ
# v07 廣播(Q7)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v07 <- set_labels(culture$v07,
  labels = c("未收聽廣播" = 0, "有收聽廣播" = 1))
culture$v07 <- set_label(culture$v07, label = "近一年是否有收聽廣播")
 
culture$v07r <- rec(
  culture$v07,
  rec = "0=0 [未收聽廣播]; 1=1 [有收聽廣播習慣]",
  var.label = "近一年是否有收聽廣播習慣",
  as.num = F
)
 
frq(culture$v07r, out = "v")
近一年是否有收聽廣播習慣 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 未收聽廣播 4889 68.86 68.86 68.86
1 有收聽廣播習慣 2211 31.14 31.14 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=0.31 · σ=0.46
ᴄᴏᴅᴇ
# v08 雜誌(Q8
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v08 <- set_labels(culture$v08,
  labels = c("未閱讀雜誌" = 0, "有閱讀雜誌" = 1))
culture$v08 <- set_label(culture$v08, label = "近一年是否有閱讀雜誌")
 
culture$v08r <- rec(
  culture$v08,
  rec = "0=0 [未閱讀雜誌]; 1=1 [有閱讀雜誌習慣]",
  var.label = "近一年是否有閱讀雜誌習慣",
  as.num = F
)
 
frq(culture$v08r, out = "v")
近一年是否有閱讀雜誌習慣 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 未閱讀雜誌 5335 75.14 75.14 75.14
1 有閱讀雜誌習慣 1765 24.86 24.86 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=0.25 · σ=0.43
ᴄᴏᴅᴇ
# v09 報紙(Q9)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v09 <- set_labels(culture$v09,
  labels = c("未閱讀報紙" = 0, "有閱讀報紙" = 1))
culture$v09 <- set_label(culture$v09, label = "近一年是否有閱讀報紙")
 
culture$v09r <- rec(
  culture$v09,
  rec = "0=0 [未閱讀報紙]; 1=1 [有閱讀報紙習慣]",
  var.label = "近一年是否有閱讀報紙習慣",
  as.num = F
)
 
frq(culture$v09r, out = "v")
近一年是否有閱讀報紙習慣 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 未閱讀報紙 5833 82.15 82.15 82.15
1 有閱讀報紙習慣 1267 17.85 17.85 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=0.18 · σ=0.38
ᴄᴏᴅᴇ
# v10 書籍(Q10)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v10 <- set_labels(culture$v10,
  labels = c("未閱讀書籍" = 0, "有閱讀書籍" = 1))
culture$v10 <- set_label(culture$v10, label = "近一年是否有閱讀書籍")
 
culture$v10r <- rec(
  culture$v10,
  rec = "0=0 [未閱讀書籍]; 1=1 [有閱讀書籍習慣]",
  var.label = "近一年是否有閱讀書籍習慣",
  as.num = F
)
 
frq(culture$v10r, out = "v")
近一年是否有閱讀書籍習慣 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 未閱讀書籍 2838 39.97 39.97 39.97
1 有閱讀書籍習慣 4262 60.03 60.03 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=0.60 · σ=0.49
ᴄᴏᴅᴇ
# v11 古典與傳統音樂(Q11)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v11 <- set_labels(culture$v11,
  labels = c("未欣賞過" = 0, "曾欣賞" = 1))
culture$v11 <- set_label(culture$v11, label = "近一年是否曾欣賞現場古典與傳統音樂")
 
culture$v11r <- rec(
  culture$v11,
  rec = "0=0 [未欣賞過]; 1=1 [曾欣賞現場古典與傳統音樂]",
  var.label = "近一年是否曾欣賞現場古典與傳統音樂",
  as.num = F
)
 
frq(culture$v11r, out = "v")
近一年是否曾欣賞現場古典與傳統音樂 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 未欣賞過 5955 83.87 83.87 83.87
1 曾欣賞現場古典與傳統音樂 1145 16.13 16.13 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=0.16 · σ=0.37
ᴄᴏᴅᴇ
# v12 現代戲劇(Q12)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v12 <- set_labels(culture$v12,
  labels = c("未欣賞過" = 0, "曾欣賞" = 1))
culture$v12 <- set_label(culture$v12, label = "近一年是否曾欣賞現場現代戲劇")
 
culture$v12r <- rec(
  culture$v12,
  rec = "0=0 [未欣賞過]; 1=1 [曾欣賞現場現代戲劇]",
  var.label = "近一年是否曾欣賞現場現代戲劇",
  as.num = F
)
 
frq(culture$v12r, out = "v")
近一年是否曾欣賞現場現代戲劇 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 未欣賞過 6001 84.52 84.52 84.52
1 曾欣賞現場現代戲劇 1099 15.48 15.48 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=0.15 · σ=0.36
ᴄᴏᴅᴇ
# v13 傳統戲曲(Q13)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v13 <- set_labels(culture$v13,
  labels = c("未欣賞過" = 0, "曾欣賞" = 1))
culture$v13 <- set_label(culture$v13, label = "近一年是否曾欣賞現場傳統戲曲")
 
culture$v13r <- rec(
  culture$v13,
  rec = "0=0 [未欣賞過]; 1=1 [曾欣賞現場傳統戲曲]",
  var.label = "近一年是否曾欣賞現場傳統戲曲",
  as.num = F
)
 
frq(culture$v13r, out = "v")
近一年是否曾欣賞現場傳統戲曲 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 未欣賞過 6240 87.89 87.89 87.89
1 曾欣賞現場傳統戲曲 860 12.11 12.11 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=0.12 · σ=0.33
ᴄᴏᴅᴇ
# v14 舞蹈(Q14)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v14 <- set_labels(culture$v14,
  labels = c("未欣賞過" = 0, "曾欣賞" = 1))
culture$v14 <- set_label(culture$v14, label = "近一年是否曾欣賞現場舞蹈")
 
culture$v14r <- rec(
  culture$v14,
  rec = "0=0 [未欣賞過]; 1=1 [曾欣賞現場舞蹈]",
  var.label = "近一年是否曾欣賞現場舞蹈",
  as.num = F
)
 
frq(culture$v14r, out = "v")
近一年是否曾欣賞現場舞蹈 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 未欣賞過 6127 86.30 86.30 86.30
1 曾欣賞現場舞蹈 973 13.70 13.70 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=0.14 · σ=0.34
ᴄᴏᴅᴇ
# v15 流行音樂(Q15)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v15 <- set_labels(culture$v15,
  labels = c("未欣賞過" = 0, "曾欣賞" = 1))
culture$v15 <- set_label(culture$v15, label = "近一年是否曾欣賞現場流行音樂")
 
culture$v15r <- rec(
  culture$v15,
  rec = "0=0 [未欣賞過]; 1=1 [曾欣賞現場流行音樂]",
  var.label = "近一年是否曾欣賞現場流行音樂",
  as.num = F
)
 
frq(culture$v15r, out = "v")
近一年是否曾欣賞現場流行音樂 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 未欣賞過 5299 74.63 74.63 74.63
1 曾欣賞現場流行音樂 1801 25.37 25.37 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=0.25 · σ=0.44
ᴄᴏᴅᴇ
# v16 KTV(Q16)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v16 <- set_labels(culture$v16,
  labels = c("未去過KTV" = 0, "曾去KTV" = 1))
culture$v16 <- set_label(culture$v16, label = "近一年是否曾去KTV")
 
culture$v16r <- rec(
  culture$v16,
  rec = "0=0 [未去過KTV]; 1=1 [曾去KTV]",
  var.label = "近一年是否曾去KTV",
  as.num = F
)
 
frq(culture$v16r, out = "v")
近一年是否曾去KTV (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 未去過KTV 4796 67.55 67.55 67.55
1 曾去KTV 2304 32.45 32.45 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=0.32 · σ=0.47
ᴄᴏᴅᴇ
# v17 視覺藝術展覽類型(Q17,複選)
# v17_1~v17_7 各子類別
#| echo: false
#| include: false
#| warning: false
#| message: false
 
if ("v17_1" %in% names(culture)) culture$v17_1 <- set_label(culture$v17_1, label = "近一年是否曾參觀繪畫書法展覽")
if ("v17_2" %in% names(culture)) culture$v17_2 <- set_label(culture$v17_2, label = "近一年是否曾參觀裝置藝術展覽")
if ("v17_3" %in% names(culture)) culture$v17_3 <- set_label(culture$v17_3, label = "近一年是否曾參觀攝影展覽")
if ("v17_4" %in% names(culture)) culture$v17_4 <- set_label(culture$v17_4, label = "近一年是否曾參觀雕塑展覽")
if ("v17_5" %in% names(culture)) culture$v17_5 <- set_label(culture$v17_5, label = "近一年是否曾參觀設計展覽")
if ("v17_6" %in% names(culture)) culture$v17_6 <- set_label(culture$v17_6, label = "近一年是否曾參觀工藝展覽")
# v17_7 為「皆未」旗標,不納入加總
 
# 整體二元化:任一子類 = 1 即為有參觀
v17_cols <- grep("^v17_[1-6]$", names(culture), value = TRUE)
if (length(v17_cols) > 0) {
  culture$v17r <- as.factor(ifelse(
    rowSums(culture[, v17_cols], na.rm = TRUE) > 0, 1, 0
  ))
  culture$v17r <- set_label(culture$v17r, label = "近一年是否曾參觀任何視覺藝術展覽")
  levels(culture$v17r) <- c("0" = "未參觀過", "1" = "曾參觀視覺藝術展覽")
}
 
frq(culture$v17r, out = "v")
近一年是否曾參觀任何視覺藝術展覽 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
未參觀過 4039 56.89 56.89 56.89
曾參觀視覺藝術展覽 3061 43.11 43.11 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=1.43 · σ=0.50
ᴄᴏᴅᴇ
# v18 視覺藝術展覽次數(Q18)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v18 <- set_label(culture$v18, label = "近一年參觀視覺藝術展覽次數(次/年)")
 
culture$v18r <- rec(
  culture$v18,
  rec = "0=0 [未參觀過]; else=1 [曾參觀視覺藝術展覽]",
  var.label = "近一年是否曾參觀視覺藝術展覽",
  as.num = F
)
 
frq(culture$v18r, out = "v")
近一年是否曾參觀視覺藝術展覽 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 未參觀過 4039 56.89 56.89 56.89
1 曾參觀視覺藝術展覽 3061 43.11 43.11 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=0.43 · σ=0.50
ᴄᴏᴅᴇ
# v19 文化相關展覽(Q19,複選)
# v19_1~v19_6(含「皆未」旗標)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
if ("v19_1" %in% names(culture)) culture$v19_1 <- set_label(culture$v19_1, label = "近一年是否曾參觀書展")
if ("v19_2" %in% names(culture)) culture$v19_2 <- set_label(culture$v19_2, label = "近一年是否曾參觀動漫展")
if ("v19_3" %in% names(culture)) culture$v19_3 <- set_label(culture$v19_3, label = "近一年是否曾參觀影視展")
if ("v19_4" %in% names(culture)) culture$v19_4 <- set_label(culture$v19_4, label = "近一年是否曾參觀文創商品展")
if ("v19_5" %in% names(culture)) culture$v19_5 <- set_label(culture$v19_5, label = "近一年是否曾參觀其他文化展覽")
# v19_6 為「皆未」旗標
 
v19_cols <- grep("^v19_[1-5]$", names(culture), value = TRUE)
if (length(v19_cols) > 0) {
  culture$v19r <- as.factor(ifelse(
    rowSums(culture[, v19_cols], na.rm = TRUE) > 0, 1, 0
  ))
  culture$v19r <- set_label(culture$v19r, label = "近一年是否曾參觀任何文化相關展覽")
  levels(culture$v19r) <- c("0" = "未參觀過", "1" = "曾參觀文化相關展覽")
}
 
frq(culture$v19r, out = "v")
近一年是否曾參觀任何文化相關展覽 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
未參觀過 4010 56.48 56.48 56.48
曾參觀文化相關展覽 3090 43.52 43.52 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=1.44 · σ=0.50
ᴄᴏᴅᴇ
# v20 文藝民俗節慶活動(Q20,複選)
# v20_1~v20_5(含「皆未」旗標)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
if ("v20_1" %in% names(culture)) culture$v20_1 <- set_label(culture$v20_1, label = "近一年是否曾參與國家國定儀典")
if ("v20_2" %in% names(culture)) culture$v20_2 <- set_label(culture$v20_2, label = "近一年是否曾參與傳統與民俗慶典")
if ("v20_3" %in% names(culture)) culture$v20_3 <- set_label(culture$v20_3, label = "近一年是否曾參與藝術節及新興節慶")
if ("v20_4" %in% names(culture)) culture$v20_4 <- set_label(culture$v20_4, label = "近一年是否曾參與其他文藝節慶")
# v20_5 為「皆未」旗標
 
v20_cols <- grep("^v20_[1-4]$", names(culture), value = TRUE)
if (length(v20_cols) > 0) {
  culture$v20r <- as.factor(ifelse(
    rowSums(culture[, v20_cols], na.rm = TRUE) > 0, 1, 0
  ))
  culture$v20r <- set_label(culture$v20r, label = "近一年是否曾參與任何文藝民俗節慶活動")
  levels(culture$v20r) <- c("0" = "未參與過", "1" = "曾參與文藝民俗節慶")
}
 
frq(culture$v20r, out = "v")
近一年是否曾參與任何文藝民俗節慶活動 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
未參與過 3904 54.99 54.99 54.99
曾參與文藝民俗節慶 3196 45.01 45.01 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=1.45 · σ=0.50
ᴄᴏᴅᴇ
# v21 文藝民俗節慶次數(Q21)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v21 <- set_label(culture$v21, label = "近一年參觀文藝民俗節慶次數(次/年)")
 
culture$v21r <- rec(
  culture$v21,
  rec = "0=0 [未參觀過]; else=1 [曾參觀文藝民俗節慶]",
  var.label = "近一年是否曾參觀文藝民俗節慶活動",
  as.num = F
)
 
frq(culture$v21r, out = "v")
近一年是否曾參觀文藝民俗節慶活動 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 未參觀過 3904 54.99 54.99 54.99
1 曾參觀文藝民俗節慶 3196 45.01 45.01 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=0.45 · σ=0.50
ᴄᴏᴅᴇ
# v22 博物館類型(Q22,複選)
# v22_1~v22_7(含「未去過」旗標)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
if ("v22_1" %in% names(culture)) culture$v22_1 <- set_label(culture$v22_1, label = "近一年是否曾參觀美術館/藝術館")
if ("v22_2" %in% names(culture)) culture$v22_2 <- set_label(culture$v22_2, label = "近一年是否曾參觀科學博物館")
if ("v22_3" %in% names(culture)) culture$v22_3 <- set_label(culture$v22_3, label = "近一年是否曾參觀歷史/人文博物館")
if ("v22_4" %in% names(culture)) culture$v22_4 <- set_label(culture$v22_4, label = "近一年是否曾參觀自然類博物館")
if ("v22_5" %in% names(culture)) culture$v22_5 <- set_label(culture$v22_5, label = "近一年是否曾參觀產業博物館")
if ("v22_6" %in% names(culture)) culture$v22_6 <- set_label(culture$v22_6, label = "近一年是否曾參觀其他博物館")
# v22_7 為「未去過」旗標
 
v22_cols <- grep("^v22_[1-6]$", names(culture), value = TRUE)
if (length(v22_cols) > 0) {
  culture$v22r <- as.factor(ifelse(
    rowSums(culture[, v22_cols], na.rm = TRUE) > 0, 1, 0
  ))
  culture$v22r <- set_label(culture$v22r, label = "近一年是否曾參觀任何博物館")
  levels(culture$v22r) <- c("0" = "未去過博物館", "1" = "曾去過博物館")
}
 
frq(culture$v22r, out = "v")
近一年是否曾參觀任何博物館 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
未去過博物館 3631 51.14 51.14 51.14
曾去過博物館 3469 48.86 48.86 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=1.49 · σ=0.50
ᴄᴏᴅᴇ
# v23 國內博物館次數(Q23)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v23 <- set_label(culture$v23, label = "近一年在國內參觀博物館次數(次/年)")
 
culture$v23r <- rec(
  culture$v23,
  rec = "0=0 [未參觀過]; else=1 [曾在國內參觀博物館]",
  var.label = "近一年是否曾在國內參觀博物館",
  as.num = F
)
 
frq(culture$v23r, out = "v")
近一年是否曾在國內參觀博物館 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 未參觀過 3631 51.14 51.14 51.14
1 曾在國內參觀博物館 3469 48.86 48.86 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=0.49 · σ=0.50
ᴄᴏᴅᴇ
# v24 國外博物館次數(Q24)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v24 <- set_label(culture$v24, label = "近一年在國外參觀博物館次數(次/年)")
 
culture$v24r <- rec(
  culture$v24,
  rec = "0=0 [未參觀過]; else=1 [曾在國外參觀博物館]",
  var.label = "近一年是否曾在國外參觀博物館",
  as.num = F
)
 
frq(culture$v24r, out = "v")
近一年是否曾在國外參觀博物館 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 未參觀過 6030 84.93 84.93 84.93
1 曾在國外參觀博物館 1070 15.07 15.07 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=0.15 · σ=0.36
ᴄᴏᴅᴇ
# v25 文化機構或藝術場所(Q25,複選)
# v25_0 為「都沒有」旗標,v25_1~v25_11 為各類場所
#| echo: false
#| include: false
#| warning: false
#| message: false
 
if ("v25_1"  %in% names(culture)) culture$v25_1  <- set_label(culture$v25_1,  label = "近一年是否曾去紀念堂/文化館")
if ("v25_2"  %in% names(culture)) culture$v25_2  <- set_label(culture$v25_2,  label = "近一年是否曾去表演藝術中心")
if ("v25_3"  %in% names(culture)) culture$v25_3  <- set_label(culture$v25_3,  label = "近一年是否曾去綜合藝文活動場所")
if ("v25_4"  %in% names(culture)) culture$v25_4  <- set_label(culture$v25_4,  label = "近一年是否曾去社區文化活動中心")
if ("v25_5"  %in% names(culture)) culture$v25_5  <- set_label(culture$v25_5,  label = "近一年是否曾去圖書館")
if ("v25_6"  %in% names(culture)) culture$v25_6  <- set_label(culture$v25_6,  label = "近一年是否曾去藝術村/文創園區")
if ("v25_7"  %in% names(culture)) culture$v25_7  <- set_label(culture$v25_7,  label = "近一年是否曾去商業場所附設展演空間")
if ("v25_8"  %in% names(culture)) culture$v25_8  <- set_label(culture$v25_8,  label = "近一年是否曾去宗教與民俗機構")
if ("v25_9"  %in% names(culture)) culture$v25_9  <- set_label(culture$v25_9,  label = "近一年是否曾去古蹟/歷史建築")
if ("v25_10" %in% names(culture)) culture$v25_10 <- set_label(culture$v25_10, label = "近一年是否曾去其他文化場所")
# v25_11 為「都沒有」旗標
# v25_0  同為「都沒有」旗標(依資料集而異)
 
v25_cols <- grep("^v25_([1-9]$|10)$", names(culture), value = TRUE)
if (length(v25_cols) > 0) {
  culture$v25r <- as.factor(ifelse(
    rowSums(culture[, v25_cols], na.rm = TRUE) > 0, 1, 0
  ))
  culture$v25r <- set_label(culture$v25r, label = "近一年是否曾去任何文化機構或藝術場所")
  levels(culture$v25r) <- c("0" = "未去過", "1" = "曾去文化機構或藝術場所")
}
 
frq(culture$v25r, out = "v")
近一年是否曾去任何文化機構或藝術場所 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
未去過 1193 16.80 16.80 16.80
曾去文化機構或藝術場所 5907 83.20 83.20 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=1.83 · σ=0.37
ᴄᴏᴅᴇ
# v26 線上文化參與(Q26,複選)
# v26_1~v26_12 各類型;v26_13=皆沒有;v26_14=無上網
#| echo: false
#| include: false
#| warning: false
#| message: false
 
if ("v26_1"  %in% names(culture)) culture$v26_1  <- set_label(culture$v26_1,  label = "近一年是否曾線上觀看電影")
if ("v26_2"  %in% names(culture)) culture$v26_2  <- set_label(culture$v26_2,  label = "近一年是否曾線上觀看電視節目")
if ("v26_3"  %in% names(culture)) culture$v26_3  <- set_label(culture$v26_3,  label = "近一年是否曾線上音樂欣賞")
if ("v26_4"  %in% names(culture)) culture$v26_4  <- set_label(culture$v26_4,  label = "近一年是否曾線上廣播")
if ("v26_5"  %in% names(culture)) culture$v26_5  <- set_label(culture$v26_5,  label = "近一年是否曾瀏覽網路新聞/雜誌")
if ("v26_6"  %in% names(culture)) culture$v26_6  <- set_label(culture$v26_6,  label = "近一年是否曾線上閱讀小說漫畫書籍")
if ("v26_7"  %in% names(culture)) culture$v26_7  <- set_label(culture$v26_7,  label = "近一年是否曾閱讀網路文章")
if ("v26_8"  %in% names(culture)) culture$v26_8  <- set_label(culture$v26_8,  label = "近一年是否曾觀看線上教學影片課程")
if ("v26_9"  %in% names(culture)) culture$v26_9  <- set_label(culture$v26_9,  label = "近一年是否曾下載或玩線上遊戲")
if ("v26_10" %in% names(culture)) culture$v26_10 <- set_label(culture$v26_10, label = "近一年是否曾線上觀看藝術表演節目")
if ("v26_11" %in% names(culture)) culture$v26_11 <- set_label(culture$v26_11, label = "近一年是否曾線上觀看視覺藝術作品")
if ("v26_12" %in% names(culture)) culture$v26_12 <- set_label(culture$v26_12, label = "近一年是否曾線上觀看短片/網路節目")
 
# 整體二元化:是否有任何線上文化參與
v26_cols <- grep("^v26_([1-9]$|10|11|12)$", names(culture), value = TRUE)
if (length(v26_cols) > 0) {
  culture$v26r <- as.factor(ifelse(
    rowSums(culture[, v26_cols], na.rm = TRUE) > 0, 1, 0
  ))
  culture$v26r <- set_label(culture$v26r, label = "近一年是否有任何線上文化參與")
  levels(culture$v26r) <- c("0" = "無線上文化參與", "1" = "有線上文化參與")
}
 
# 計數 → 高/低參與(以6種為切分點)
if (length(v26_cols) > 0) {
  culture$v26_count <- rowSums(culture[, v26_cols], na.rm = TRUE)
  culture$v26cr <- rec(
    culture$v26_count,
    rec = "0:5=0 [低度線上文化參與]; 6:hi=1 [高度線上文化參與]",
    var.label = "線上文化參與種類數是否達6種以上",
    as.num = F
  )
}
 
frq(culture$v26r,  out = "v")
近一年是否有任何線上文化參與 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
無線上文化參與 837 11.79 11.79 11.79
有線上文化參與 6263 88.21 88.21 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=1.88 · σ=0.32
ᴄᴏᴅᴇ
frq(culture$v26cr, out = "v")
線上文化參與種類數是否達6種以上 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 低度線上文化參與 2512 35.38 35.38 35.38
1 高度線上文化參與 4588 64.62 64.62 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=0.65 · σ=0.48
ᴄᴏᴅᴇ
# v28 線上文化活動每週時數(Q28)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v28 <- set_label(culture$v28, label = "從事線上文化活動時數(小時/週)")
 
culture$v28r <- rec(
  culture$v28,
  rec = "0=0 [無線上文化活動]; else=1 [有線上文化活動習慣]",
  var.label = "是否每週有從事線上文化活動",
  as.num = F
)
 
frq(culture$v28r, out = "v")
是否每週有從事線上文化活動 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 無線上文化活動 842 11.86 11.86 11.86
1 有線上文化活動習慣 6256 88.11 88.14 100.00
NA NA 2 0.03 NA NA
total N=7100 · valid N=7098 · x̄=0.88 · σ=0.32
ᴄᴏᴅᴇ
# v29 數位閱讀每週時數(Q29)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v29 <- set_label(culture$v29, label = "每週數位閱讀時數(小時/週)")
 
culture$v29r <- rec(
  culture$v29,
  rec = "0=0 [無數位閱讀習慣]; else=1 [有數位閱讀習慣]",
  var.label = "是否每週有數位閱讀習慣",
  as.num = F
)
 
frq(culture$v29r, out = "v")
是否每週有數位閱讀習慣 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 無數位閱讀習慣 1239 17.45 17.45 17.45
1 有數位閱讀習慣 5861 82.55 82.55 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=0.83 · σ=0.38
ᴄᴏᴅᴇ
# v30 文化技藝學習(Q30,複選)
# v30_1~v30_12 各技藝;v30_13=皆無
#| echo: false
#| include: false
#| warning: false
#| message: false
 
if ("v30_1"  %in% names(culture)) culture$v30_1  <- set_label(culture$v30_1,  label = "曾學習西洋樂器演奏")
if ("v30_2"  %in% names(culture)) culture$v30_2  <- set_label(culture$v30_2,  label = "曾學習傳統樂器演奏")
if ("v30_3"  %in% names(culture)) culture$v30_3  <- set_label(culture$v30_3,  label = "曾學習舞蹈")
if ("v30_4"  %in% names(culture)) culture$v30_4  <- set_label(culture$v30_4,  label = "曾學習傳統戲劇表演")
if ("v30_5"  %in% names(culture)) culture$v30_5  <- set_label(culture$v30_5,  label = "曾學習現代戲劇表演")
if ("v30_6"  %in% names(culture)) culture$v30_6  <- set_label(culture$v30_6,  label = "曾學習歌唱或聲音訓練")
if ("v30_7"  %in% names(culture)) culture$v30_7  <- set_label(culture$v30_7,  label = "曾學習詞曲創作")
if ("v30_8"  %in% names(culture)) culture$v30_8  <- set_label(culture$v30_8,  label = "曾學習繪畫書法")
if ("v30_9"  %in% names(culture)) culture$v30_9  <- set_label(culture$v30_9,  label = "曾學習攝影")
if ("v30_10" %in% names(culture)) culture$v30_10 <- set_label(culture$v30_10, label = "曾學習手工藝/雕塑/設計")
if ("v30_11" %in% names(culture)) culture$v30_11 <- set_label(culture$v30_11, label = "曾學習寫作創作")
if ("v30_12" %in% names(culture)) culture$v30_12 <- set_label(culture$v30_12, label = "曾學習其他文化藝術技藝")
# v30_13 為「皆無」旗標
 
v30_cols <- grep("^v30_([1-9]$|10|11|12)$", names(culture), value = TRUE)
if (length(v30_cols) > 0) {
  culture$v30r <- as.factor(ifelse(
    rowSums(culture[, v30_cols], na.rm = TRUE) > 0, 1, 0
  ))
  culture$v30r <- set_label(culture$v30r, label = "是否曾學習任何文化藝術技藝")
  levels(culture$v30r) <- c("0" = "皆無學習", "1" = "曾學習文化藝術技藝")
}
 
frq(culture$v30r, out = "v")
是否曾學習任何文化藝術技藝 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
皆無學習 3107 43.76 43.76 43.76
曾學習文化藝術技藝 3993 56.24 56.24 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=1.56 · σ=0.50
ᴄᴏᴅᴇ
# v31 公開發表(Q31,複選)
# v31_1~v31_5 各類型;v31_6=網路發表;v31_7=皆無
# 注意:依欄位清單 v31 有 v31_1~v31_7
#| echo: false
#| include: false
#| warning: false
#| message: false
 
if ("v31_1" %in% names(culture)) culture$v31_1 <- set_label(culture$v31_1, label = "近一年是否曾於網路發表作品")
if ("v31_2" %in% names(culture)) culture$v31_2 <- set_label(culture$v31_2, label = "近一年是否曾於報章雜誌發表作品")
if ("v31_3" %in% names(culture)) culture$v31_3 <- set_label(culture$v31_3, label = "近一年是否曾公開表演")
if ("v31_4" %in% names(culture)) culture$v31_4 <- set_label(culture$v31_4, label = "近一年是否曾公開展覽藝術作品")
if ("v31_5" %in% names(culture)) culture$v31_5 <- set_label(culture$v31_5, label = "近一年是否曾其他公開發表")
if ("v31_6" %in% names(culture)) culture$v31_6 <- set_label(culture$v31_6, label = "近一年是否曾於網路發表(另一類型)")
# v31_7 為「皆無」旗標
 
v31_cols <- grep("^v31_[1-6]$", names(culture), value = TRUE)
if (length(v31_cols) > 0) {
  culture$v31r <- as.factor(ifelse(
    rowSums(culture[, v31_cols], na.rm = TRUE) > 0, 1, 0
  ))
  culture$v31r <- set_label(culture$v31r, label = "近一年是否曾公開發表或展示藝術作品")
  levels(culture$v31r) <- c("0" = "皆無公開發表", "1" = "曾公開發表藝術作品")
}
 
frq(culture$v31r, out = "v")
近一年是否曾公開發表或展示藝術作品 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
皆無公開發表 7100 100 100 100
曾公開發表藝術作品 0 0 0 100
NA NA 0 0 NA NA
total N=7100 · valid N=7100 · x̄=1.00 · σ=0.00
ᴄᴏᴅᴇ
# v32 文化消費類型(Q32,複選)
# v32_1~v32_11 各類型;v32_12=皆沒有
#| echo: false
#| include: false
#| warning: false
#| message: false
 
if ("v32_1"  %in% names(culture)) culture$v32_1  <- set_label(culture$v32_1,  label = "過去一年是否曾購買各類門票")
if ("v32_2"  %in% names(culture)) culture$v32_2  <- set_label(culture$v32_2,  label = "過去一年是否曾購買或租借書報雜誌")
if ("v32_3"  %in% names(culture)) culture$v32_3  <- set_label(culture$v32_3,  label = "過去一年是否曾購買或租借CD/DVD")
if ("v32_4"  %in% names(culture)) culture$v32_4  <- set_label(culture$v32_4,  label = "過去一年是否曾付費欣賞或下載網路影音")
if ("v32_5"  %in% names(culture)) culture$v32_5  <- set_label(culture$v32_5,  label = "過去一年是否曾購買樂器樂譜")
if ("v32_6"  %in% names(culture)) culture$v32_6  <- set_label(culture$v32_6,  label = "過去一年是否曾購買藝術品原作")
if ("v32_7"  %in% names(culture)) culture$v32_7  <- set_label(culture$v32_7,  label = "過去一年是否曾購買文創商品/工藝品")
if ("v32_8"  %in% names(culture)) culture$v32_8  <- set_label(culture$v32_8,  label = "過去一年是否曾支出學習藝文技藝費用")
if ("v32_9"  %in% names(culture)) culture$v32_9  <- set_label(culture$v32_9,  label = "過去一年是否曾參與工藝/藝文講座活動")
if ("v32_10" %in% names(culture)) culture$v32_10 <- set_label(culture$v32_10, label = "過去一年是否曾購買或參與電玩遊戲")
if ("v32_11" %in% names(culture)) culture$v32_11 <- set_label(culture$v32_11, label = "過去一年是否曾其他文化消費")
# v32_12 為「皆沒有」旗標
 
v32_cols <- grep("^v32_([1-9]$|10|11)$", names(culture), value = TRUE)
if (length(v32_cols) > 0) {
  culture$v32r <- as.factor(ifelse(
    rowSums(culture[, v32_cols], na.rm = TRUE) > 0, 1, 0
  ))
  culture$v32r <- set_label(culture$v32r, label = "過去一年是否有任何文化消費")
  levels(culture$v32r) <- c("0" = "皆無文化消費", "1" = "有文化消費")
}
 
frq(culture$v32r, out = "v")
過去一年是否有任何文化消費 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
皆無文化消費 2218 31.24 31.24 31.24
有文化消費 4882 68.76 68.76 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=1.69 · σ=0.46
ᴄᴏᴅᴇ
# v34 年齡(Q34)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v34 <- set_labels(culture$v34,
  labels = c(
    "15歲"    = 15, "16歲" = 16, "17歲" = 17,
    "18歲"    = 18, "19歲" = 19,
    "20-24歲" = 2,  "25-29歲" = 3,
    "30-34歲" = 4,  "35-39歲" = 5,
    "40-44歲" = 6,  "45-49歲" = 7,
    "50-54歲" = 8,  "55-59歲" = 9,
    "60-64歲" = 10, "65歲以上" = 11
  ))
culture$v34 <- set_label(culture$v34, label = "年齡")
 
# 二元化:39歲以下 vs 40歲以上
culture$v34r <- rec(
  culture$v34,
  rec = "15:19=0 [39歲以下]; 2:5=0 [39歲以下]; 6:11=1 [40歲以上]",
  var.label = "是否為40歲以上(中高齡)",
  as.num = F
)
One or more of the old values are recoded into identical new values.
Please check if you correctly specified the recode-pattern,
else separate multiple values with comma, e.g. rec="a,b,c=1; d,e,f=2".
ᴄᴏᴅᴇ
frq(culture$v34r, out = "v")
是否為40歲以上(中高齡) (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 39歲以下 2529 26.26 26.26 26.26
0 39歲以下 2529 26.26 26.26 52.53
1 40歲以上 4571 47.47 47.47 100.00
NA NA 0 0.00 NA NA
total N=9629 · valid N=9629 · x̄=0.64 · σ=0.48
ᴄᴏᴅᴇ
# v35 教育程度(Q35)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v35 <- set_labels(culture$v35,
  labels = c(
    "小學以下"   = 1,
    "國(初)中"   = 2,
    "高中(職)"   = 3,
    "專科/大學"  = 4,
    "研究所以上" = 5
  ))
culture$v35 <- set_label(culture$v35, label = "教育程度")
 
culture$v35r <- rec(
  culture$v35,
  rec = "1:3=0 [高中職以下]; 4:5=1 [大學專科以上]",
  var.label = "教育程度是否達大學專科以上",
  as.num = F
)
 
frq(culture$v35r, out = "v")
教育程度是否達大學專科以上 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 高中職以下 2648 37.30 37.33 37.33
1 大學專科以上 4446 62.62 62.67 100.00
NA NA 6 0.08 NA NA
total N=7100 · valid N=7094 · x̄=0.63 · σ=0.48
ᴄᴏᴅᴇ
# v37 職業(Q37)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v37 <- set_labels(culture$v37,
  labels = c(
    "軍人及公務人員"           = 1,
    "教師(含教育服務業)"      = 2,
    "農林漁牧業"               = 3,
    "礦業及土石採取業"          = 4,
    "製造業"                   = 5,
    "電力及燃氣供應業"          = 6,
    "用水供應及污染整治業"      = 7,
    "營建工程業"               = 8,
    "批發及零售業"              = 9,
    "運輸及倉儲業"              = 10,
    "住宿及餐飲業"              = 11,
    "出版影音傳播及資通訊服務業" = 12,
    "金融及保險業"              = 13,
    "不動產業"                  = 14,
    "專業科學及技術服務業"      = 15,
    "支援服務業"                = 16,
    "其他公共行政及國防"        = 17,
    "醫療保健及社會工作服務業"  = 18,
    "藝術娛樂及休閒服務業"      = 19,
    "其他服務業"                = 20,
    "家管"                     = 21,
    "學生"                     = 22,
    "無業/待業中"               = 23,
    "已退休"                   = 24,
    "其他"                     = 25
  ))
culture$v37 <- set_label(culture$v37, label = "職業(行業)")
 
# 清理後五大類
culture$v37c <- rec(
  culture$v37,
  rec = "19=1 [藝術娛樂及休閒服務業];
         1,2,17=2 [公部門/教育];
         3:16,18,20=3 [其他在職];
         21:24=4 [非勞動人口(家管/學生/無業/退休)];
         25=5 [其他]",
  var.label = "職業分類(清理後)",
  as.num = F
)
 
# 二元化:是否從事藝文相關產業
culture$v37r <- rec(
  culture$v37,
  rec = "19=1 [藝文相關產業]; else=0 [非藝文相關產業]",
  var.label = "是否從事藝術娛樂及休閒服務業",
  as.num = F
)
 
frq(culture$v37r, out = "v")
是否從事藝術娛樂及休閒服務業 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 非藝文相關產業 6971 98.18 98.89 98.89
1 藝文相關產業 78 1.10 1.11 100.00
NA NA 51 0.72 NA NA
total N=7100 · valid N=7049 · x̄=0.01 · σ=0.10
ᴄᴏᴅᴇ
# v38 個人月收入(Q38)
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v38 <- set_labels(culture$v38,
  labels = c(
    "沒有收入"          = 1,
    "10,000元以下"      = 2,
    "10,001~20,000元"   = 3,
    "20,001~30,000元"   = 4,
    "30,001~40,000元"   = 5,
    "40,001~50,000元"   = 6,
    "50,001~60,000元"   = 7,
    "60,001~70,000元"   = 8,
    "70,001元以上"      = 9,
    "收入不固定"        = 10
  ))
culture$v38 <- set_label(culture$v38, label = "個人月收入")
 
# 二元化:30,000元以下 vs 30,001元以上;收入不固定設為遺漏
culture$v38r <- rec(
  culture$v38,
  rec = "1:4=0 [低收入(30,000元以下)]; 5:9=1 [中高收入(30,001元以上)]; 10=NA",
  var.label = "個人月收入是否達30,001元以上",
  as.num = F
)
 
frq(culture$v38r, out = "v")
個人月收入是否達30,001元以上 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 低收入(30,000元以下) 2528 35.61 38.23 38.23
1 中高收入(30,001元以上) 4085 57.54 61.77 100.00
NA NA 487 6.86 NA NA
total N=7100 · valid N=6613 · x̄=0.62 · σ=0.49
ᴄᴏᴅᴇ
# v67 性別(Q39)
# 問卷第39題在資料中編為 v67
#| echo: false
#| include: false
#| warning: false
#| message: false
 
culture$v67 <- set_labels(culture$v67,
  labels = c("男" = 1, "女" = 2))
culture$v67 <- set_label(culture$v67, label = "性別")
 
culture$v67r <- rec(
  culture$v67,
  rec = "2=1 [女性]; 1=0 [男性]",
  var.label = "是否為女性",
  as.num = F
)
 
frq(culture$v67r, out = "v")
是否為女性 (x) <categorical>
val label frq raw.prc valid.prc cum.prc
0 男性 3590 50.56 50.56 50.56
1 女性 3510 49.44 49.44 100.00
NA NA 0 0.00 NA NA
total N=7100 · valid N=7100 · x̄=0.49 · σ=0.50

──────────────────────────────────────────────────────────────

存檔

──────────────────────────────────────────────────────────────

第四章 資料分析

貳、多重對應分析

一、問卷題目與維度構成
(一)代號與變數對照
ᴄᴏᴅᴇ
# v33r  是(1)否(0)為高文化消費者(5,001元以上)
# v30r  是(1)否(0)曾學習任何文化藝術技藝
# v26cr 是(1)否(0)線上文化參與種類達6種以上
# v31r  是(1)否(0)近一年曾公開發表藝術作品
# v35r  是(1)否(0)教育程度達大學專科以上(輔助)
# v38r  是(1)否(0)月收入達30,001元以上(輔助)
# v37c  職業分類—藝文/公部門/其他在職/非勞動/其他(輔助)
# v01r  是(1)否(0)居住於六都(輔助)
# v67r  是(1)否(0)為女性(輔助)
(二)陡坡圖
ᴄᴏᴅᴇ
fviz_screeplot(res, ncp = 5, barfill = "#7B7B7B", barcolor = "#7B7B7B",
               linecolor = "#1a1a1a", title = "")

(三)維次歸納描述
ᴄᴏᴅᴇ
corrplot(res$var$cos2, is.corr = FALSE, tl.cex = 0.8, tl.col = "#000000",
         col = colorRampPalette(c("#FFFFFF", "#000000"))(500),
         method = "color", title = "")

(四)變數關聯分佈圖
ᴄᴏᴅᴇ
plot(res, axes = c(1, 2), new.plot = TRUE, choix = "var",
     col.var = "#A02C3D", col.quali.sup = "#2C5C77",
     label = c("quali.sup", "quanti.sup", "var"),
     invisible = c("ind"), autoLab = "yes",
     title = "變數關聯分佈圖",
     cex = 0.8, xlim = c(-0.1, 0.75), ylim = c(-0.1, 0.55))

二、維度象限描述與變數類別
(一)第一維次主要貢獻變數類別
ᴄᴏᴅᴇ
fviz_contrib(res, choice = "var", axes = 1,
             fill = "#7B7B7B", color = "#7B7B7B") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1, vjust = 1.25, size = 7))

(二)第二維次主要貢獻變數類別
ᴄᴏᴅᴇ
fviz_contrib(res, choice = "var", axes = 2,
             fill = "#7B7B7B", color = "#7B7B7B") +
  theme(axis.text.x = element_text(angle = 45, hjust = 1, vjust = 1.25, size = 7))

(三)所有變數類別分佈圖
ᴄᴏᴅᴇ
plot(res, axes = c(1, 2), new.plot = TRUE,
     col.var = "#A02C3D", col.ind = "#7B7B7B", col.ind.sup = "#7B7B7B",
     col.quali.sup = "#2C5C77", cex = 0.8,
     invisible = c("ind"), autoLab = "yes",
     title = "完整類別分布圖")

(四)前 20 個最主要貢獻變數類別分佈
ᴄᴏᴅᴇ
plot(res, axes = c(1, 2), new.plot = TRUE,
     col.var = "#A02C3D", col.ind = "#7B7B7B", col.ind.sup = "#7B7B7B",
     col.quali.sup = "#2C5C77", label = c("var"), cex = 0.8,
     selectMod = "cos2 20",
     invisible = c("ind", "quali.sup"),
     xlim = c(-1, 1), ylim = c(-0.5, 0.5),
     autoLab = "yes",
     title = "前 20 個最主要貢獻變數類別分佈")

三、受訪者分佈呈現
(一)總受訪者分佈
ᴄᴏᴅᴇ
plot(res, axes = c(1, 2), new.plot = TRUE, choix = "ind",
     col.var = "#A02C3D", col.quali.sup = "#2C5C77",
     label = c("var"), selectMod = "cos2 15", select = "cos2 1",
     xlim = c(-1, 1), invisible = c("quali.sup", "var"),
     title = "受訪者分佈圖")

(二)教育程度分佈
ᴄᴏᴅᴇ
plotellipses(res, keepvar = c("v35r"), label = "ind.sup", habillage = "v35r",
             palette = c("#7B7B7B", "#A02C3D"),
             title = "教育程度分佈圖")

(三)收入分佈
ᴄᴏᴅᴇ
plotellipses(res, keepvar = c("v38r"), label = "ind.sup", habillage = "v38r",
             palette = c("#7B7B7B", "#A02C3D"),
             title = "個人月收入分佈圖")

(四)職業分佈

#| warning: false plotellipses(res, keepvar = c(“v37c”), label = “ind.sup”, habillage = “v37c”, palette = c(“#A02C3D”, “#2C5C77”, “#7B7B7B”, “#BF8C00”, “#ADADAD”), title = “職業分類分佈圖”)