Code
<- rep(0:1, c(1900000-0.56*1900000,0.56*1900000))
pop
#創造出一個虛擬母體
mean(sample(pop,1068)) #從中抽樣
[1] 0.566
上半場(14:00~15:30):基本觀念與操作
下半場(15:40~16:40):觀念應用與案例操作
Q&A問與答(16:40~17:00)
開啟本講線上講義:https://bit.ly/3owUFpi
下載本講的資料檔:https://bit.ly/45zGkJt
請先在電腦中安裝 R 再安裝RStudio
統計(statistics)是個收集、分析和解釋數據的學問,分為描述性統計和推論性統計,也是今日新興的「資料科學」的基礎。
描述統計用於認識資料(樣本)的特性。
推論統計用於推斷資料背後群體(母體)的特性,而且可以用於探討概念之間的潛在關係。
民調為什麼本來就不會準?(它是「一個」民調)
賽馬式民調在吵什麼?(你把民調數字當真相)
我們一起點開這張圖(連結:https://bit.ly/3osMKcD),跟著老師一起操作。
::: {#fig-meanand median}
常態分布中的平均數(表示資料的中間傾向)與標準差(表示資料的離散程度)(圖片來源:https://pansci.asia/archives/362484) :::
R是統計學社群所發展出來的語言。在眾多統計軟體中,R是一項免費公開、普遍下載的應用軟體,在國內外學界及業界應用很廣泛。應範圍從公衛、民意調查到人工智慧、視覺、聲音、健康、能源資料大數據分析等。
R運用在研究分析上很強大,是國際級的工具。
2020@TPE; 2022@Beijin; 2022@online; 2023@Chicago
R比其他程式語言(如Python)更適合想探索資料的初學者,但台灣整體風氣偏重Python多過R。
你不必想用它取代Excel,但它可以讓你(依需要)做到一些Excel做不到的事。
最重要的差異:使用語法(而非滑鼠點放)來取用資料,例如 資料檔物件$變數
第二重要的差異:
語法檔可保留下來供檢誤與再製(所以沒有黑箱)
可以用時開啟多個專案及多個資料檔進行分析
第三重要的差異:
拼裝車(有褒意也有貶意)
並非全中文環境
對一般人來說挺大的學習曲線(但那個軟體不是呢?)
有師傅帶著入門最好,但自學環境與材料在今日已相當充足
長期使用要懂得保養:維護引擎(R)、車體(RStudio)與配件(外掛/套件)
假設在2023年全台灣成年合格選民有1900萬人,經普查發現支持「電價緩漲」的比例為56%。今天我們進行一次民意調查,全台灣隨機抽出1,068位合格選民電訪,問他們支持「電價緩漲」比例為何?
<- rep(0:1, c(1900000-0.56*1900000,0.56*1900000))
pop
#創造出一個虛擬母體
mean(sample(pop,1068)) #從中抽樣
[1] 0.566
如果你在R上反覆執行上兩行的指令,你會發現每次抽樣得到數值(支持比例)都會不一樣,但你也會發現它們之間的差異不會大到那裡去。也就是說抽樣平均數呈現某種程度的分配(在本例中為常態)。現在我們抽樣3000次(且不重複抽樣),並看看這些平均數的分配情形。
<- replicate(3000, mean(sample(pop,1068, replace=TRUE)))
result mean(result)
[1] 0.56
hist(result)
微笑小熊調查小棧:smilepoll.tw 相聚時光烤不烤
調查時間:2017/11/06~2017/12/05
受訪人數:650人
RStudio可以讀入Excel, SPSS, SAS等軟體的資料檔,例如
library(foreign)
<- read.csv("BBQ.csv")
bbq
library(readxl)
<- read_excel("BBQ.xlsx") bbq
但這次我們使用R專屬的格式來操作。
load("BBQ.rda")
library(sjPlot)
library(sjmisc)
# (V44r)說到烤肉,請問您明年會不會想全家人一起烤肉? (0~10) 0:5=0[不會]; 6:10=1[會]
frq(bbq$V44r)
說回到烤肉,請問您明年會不會想全家人一起烤肉? (x) <categorical>
# total N=650 valid N=650 mean=0.53 sd=0.50
Value | Label | N | Raw % | Valid % | Cum. %
----------------------------------------------
0 | 不會 | 306 | 47.08 | 47.08 | 47.08
1 | 會 | 344 | 52.92 | 52.92 | 100.00
<NA> | <NA> | 0 | 0.00 | <NA> | <NA>
plot_frq(bbq$V44r)
以下請你自己來試試看能不能快速為變數來製表製圖
#(V18r)如果大家都烤肉,您會覺得「不好玩」嗎?
# 跟別人做類似的活動,不好玩 1
# 跟別人做類似的活動也很ok啊 0
# (V20r)您覺得戶外的烤肉對您的健康有多大影響?
# 影響很大 1
# 影響不大 0
# 完全沒影響 0
# (V21r)對您來說,烤肉費用的支出是不是一種負擔?
# 是,的確是種負擔 1
# 還好 0
# 不會 0
# (V23r)準備烤肉食材對您來說會不會很麻煩?
# 會麻煩 1
# 不會麻煩 0
# (V27r)您在不在意您烤肉時造成的污染?
# 會在意,覺得多少影響了環境 1
# 還好 0
# 不會在意 0
# (V45r) 平時用社群媒體(Line, Facebook等)與家人聯繫感情。您覺得夠不夠?
# 很夠了。科技讓我與家人緊緊連在一起,年節不見面也不要緊。 0
# 還算夠。有了科技,家人不必一定要聚在一起。 0
# 不夠!見面較能聯絡感情,所以仍然要經常找時間團聚。 1
# 絕對不夠!我不太相信用社群媒體可以聯繫感情,一定要見到面才行。 1
# (V48r) 大家圍著烤肉比其他活動要較為容易聯絡感情。
# 同意。 1
# 不會/不見得。 0
會覺得「見面團聚取代使用手機」(v45r
)比較重要的人,跟「覺得自己時間充裕」(v37r
)有沒有關係?會是什麼樣的關係呢?
虛無假設(H0):兩者無關
替代假設(H1):兩者有關
load("BBQ.rda")
library(sjPlot)
tab_xtab(bbq$V37r, bbq$V45r,
show.row.prc = TRUE, # 顯示列百分比
show.col.prc = TRUE # 顯示欄百分比
)
最後,我們來談談節慶與團聚。 請問您覺得一天之內自己可以自由支配的時間(用來做自己想做的事)大約有多少? |
平時用社群媒體(Line, Facebook等)與家人聯繫感情。您覺得夠不夠? |
Total | |
---|---|---|---|
不常見面不要緊 | 見面是必要的 | ||
足夠 | 173 39.1 % 73.9 % |
269 60.9 % 65.5 % |
442 100 % 68.5 % |
不夠 | 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 |
劉老師問大家:「明年中秋你們家會不會烤肉?」
全班的同學七嘴八舌一番後提出了七個假設:
假設一:對烤肉的新鮮感不再(V18r
)便會降低明年烤肉的意願(V44r
)
假設二:覺得烤肉影響健康(V20r
)便會降低明年烤肉的意願
假設三:覺得烤肉花費造成負擔(V21r
)便會降低明年烤肉的意願
假設四:覺得烤肉麻煩(V23r
)便會降低明年烤肉的意願
假設五:覺得烤肉影響環境(V27r
)便會降低明年烤肉的意願
假設六:覺得不必要見面(V45r
)就能聯絡感情會降低明年烤肉的意願
假設七:認為烤肉不是聯絡感情的首選(V48r
)便會降低明年烤肉的意願
load("BBQ.rda")
.1 <- glm(V44r ~ V18r+V20r+V21r+V23r+V27r+V45r+V48r,
moddata=bbq,
family=binomial)
summary(mod.1)
Call:
glm(formula = V44r ~ V18r + V20r + V21r + V23r + V27r + V45r +
V48r, family = binomial, data = bbq)
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -0.103 0.261 -0.39 0.69368
V18r1 -0.932 0.259 -3.59 0.00033 ***
V20r1 -0.230 0.203 -1.13 0.25797
V21r1 -0.254 0.205 -1.24 0.21426
V23r1 -0.701 0.232 -3.01 0.00257 **
V27r1 -0.111 0.206 -0.54 0.59075
V45r1 0.517 0.192 2.70 0.00701 **
V48r1 1.803 0.187 9.64 < 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.5
Number of Fisher Scoring iterations: 4