2/18-6/10,星期五,9:10-12:00
270813
近年來,在日常生活中我們經常聽到大數據、演算法、AI人工智慧等等,過去認為只有統計學家、經濟學家需要使用數據說明經濟現象、人口成長等等,現在社會各行各業越來越重視數據加上演算法做為決策的依據,資料科學變得非常熱門,例如用大量的雷達、衛星、氣象站資料建立氣象預測的模型、用大量的X光攝影檢查照片診斷病人、用各種感應器回傳的數據進行無人駕駛,以及收集各種社群媒體的留言、貼文構成政治人物的聲量等等。但是早在資料科學出現之前,統計學已經幫助我們描述資料以及找出變數之間的關係,進一步加以預測,例如預測經濟成長、解釋選舉結果、預測哪一隊贏得職籃總冠軍等等。學好統計學可以化繁為簡,避免被龐大的資料淹沒。不論是資料科學或是統計學,目的都是幫助我們透視資料後面的故事,進而幫助做出正確的決策。
就社會科學而言,統計可以運用在許多重要的研究問題,例如:
有些國家的國會選舉採用簡單多數決制,有些國家採取比例代表制,選舉制度與政黨數目有什麼關係?
有哪些國家的投票率比較高、哪些國家比較低?經濟發展、社會不平等或者其他因素會影響投票率嗎?投票率與政府治理的關係為何?
為什麼有些國家的民主會倒退?有些國家的民主與經濟越來越好?
社群媒體對於民眾的政治態度有多大的影響?如何確認民眾先有政治立場再選媒體?還是被媒體影響其政治立場?哪些因素決定民眾會分享貼文、按讚?
針對中國研究,威權政體如何讓民眾滿足現狀,不會要求社會改革?哪些因素影響黨員的升遷?
雖然這些問題不容易回答,但是學者盡力收集資料來驗證甚至發展新的理論。
本課程目的是用R
實作統計,讓修課者同時學習統計以及操作R
,未來能夠進一步延伸到其他的領域。我們假設修課的同學沒有使用R
的經驗,所以在課程一開始,我們將使用五次上課的時間,講解R
的基本介面與功能。之後我們的上課以及作業,都會用R
來處理。接下來我們將介紹描述統計、估計與檢定、相關分析、卡方檢定、平均數分析、變異數分析、線性迴歸一直到非線性迴歸。目標是會描述資料,並且檢視線性的關係,進而說明變數之間的關係是否可以驗證理論。
1991年,Ross Ihaka與Robert Gentleman開發R
,前身為S-Plus,雖然R
跟S-Plus是不同的軟體,但兩者的語法有許多重疊的地方。
R
是免費、開源軟體,目前R
已經有超過9000個套件(package),每個套件儲存資料、函數、文件等等。除了進行統計、機器學習、資料視覺化,也可以用R
的套件撰寫html文件,或者轉換為PDF,文件中可以結合R
的統計功能,也就是文件中的統計、資料視覺化都是由同一組語法產生,不需要在別的地方製作,再複製貼上目前的文件。
R
有6種物件(object),每一種物件有兩種屬性:長度以及屬性。這6種物件為向量(vector)、矩陣(matrix)、陣列(array)、列表(list)、因素(factor)、資料框(Data Frame)。
不論是統計或者資料分析,背後都需要有嚴謹的研究設計,本課程希望達到下列目標,但是也會時時提醒修課者培養看問題以及回答問題的敏銳度:
瞭解研究設計
瞭解如何用R
描述資料
瞭解如何用R
整理資料
瞭解如何用R
進行資料視覺化
暸解如何用R
進行相關分析
瞭解如何用R
進行線性迴歸模型
瞭解如何用R
進行非線性迴歸模型
R
的語法檔給助教以驗證執行。
R
描述資料型態,並且說明變數之間可能的關係,最後以線性或者非線性迴歸模型檢證假設,但是在這個階段不一定要有非常顯著的發現。報告字數約在8000字以內,請說明每一位組員的分工。評分標準為:
週次 | 日期 | 主題 | 說明 | 參考書籍 |
---|---|---|---|---|
1 | 2/18 | 課程簡介、安裝R |
介紹本課程,以及R 的特點,以及說明如何安裝R 與RStudio ,以及安裝套件
|
蔡(Ch.1, 2) |
2 | 2/25 | 資料型態 |
將說明R 的資料型態,包括數值、字串等等,以及R 的向量、因子、列表、矩陣等等結構,以及資料框與資料表
|
蔡(Ch.3, 4, 5),Verzani(Ch. 1) |
3 | 3/4 | 資料讀取以及常用指令 | 介紹常用指令以及如何讀取外部資料 | |
4 | 3/11 | 條件判斷、迴圈 |
將解釋如何設定條件讓R 依照邏輯計算答案,以及如何設定迴圈
|
蔡(Ch.7),Verzani (Ch.6) |
5 | 3/18 | 資料視覺化(1) | 介紹基礎繪圖指令 | 課堂上投影片 |
6 | 3/25 | 資料視覺化(2) | 介紹ggplot2以及ggpubr等套件的指令 | 課堂上投影片 |
7 | 4/1 | 描述統計:集中趨勢、離散程度 | 介紹描述統計的集中趨勢以及離散程度,例如平均值、中位數、標準差等等 | 蔡 (Ch.7) ,Verzani (Ch.2),林與陳(Ch.3-4) |
8 | 4/8 | 統計估計、假設檢定 | 點估計的意義以及信賴區間的計算 | Verzani (Ch. 8, 11),林與陳(Ch. 10, 11) |
9 | 4/15 | 相關分析、卡方檢定 | 介紹兩個非連續變數之間的關聯,以及卡方檢定 | 蔡(Ch.7),Verzani (Ch.9),林與陳(Ch.12) |
10 | 4/22 | 平均數檢定、變異數分析 | 說明雙母體參數估計以及連續變數的變異數分析 | Verzani (Ch. 8, 11) |
11 | 4/29 | 線性迴歸原理 | 說明線性迴歸的原理以及假設檢定 | 蔡(Ch.8, 10),Verzani (Ch.10),林與陳(Ch.9-10) |
12 | 5/6 | 單迴歸 | 說明信賴區間以及如何以圖形詮釋迴歸 | James等人(Ch. 3),林與陳(Ch. 14) |
13 | 5/13 | 複迴歸、虛擬變數、交互作用 | 說明有兩個以上的自變數時的迴歸模型,以及其中有一個是類別變數,以及兩個自變數之間有交互作用時的估計方式 | James等人(Ch. 3) |
14 | 5/20 | 校慶運動會 | 不上課 | |
15 | 5/27 | 最大概似法、二元勝算對數迴歸模型 | 介紹最大概似法與非線性迴歸模型應用在依變項為二元而非連續變數 | Verzani (Ch. 12),James等人 (Ch. 4) |
16 | 6/3 | 端午節 | 不上課 | |
17 | 6/10 | 期末課堂報告 | 每位同學須以投影片報告即將繳交的期末報告內容 | 無 |
R
R
教學R
的夏季課程(http://faculty.washington.edu/cadolph/index.php?page=60&pan=essex),從初階到進階,內容非常的詳盡。R
的基礎,循序漸進,不會覺得太艱深(https://www.ling.upenn.edu/~joseff/rstudy/index.html)。R
的部分在(https://stats.idre.ucla.edu/r)。R
的大神:Hadley Wickham 在Advanced R的網站 (http://adv-r.had.co.nz/Introduction.html) 介紹R
的基本原理,有興趣的同學可以先讀導論。deps <- available.packages("http://taiwanrusergroup.github.io/R-2014/src/contrib")[1,"Imports"]
pkgs <- strsplit(gsub("\\s", "", deps), ",")[[1]]
for(i in seq_along(pkgs)) {
# You can change your favorite repository
if (require(pkgs[i], character.only = TRUE)) next
install.packages(pkgs[i], repo = "http://cran.csie.ntu.edu.tw")
}
install.packages('DSC2014Tutorial', repo = 'http://taiwanrusergroup.github.io/R-2014', type = 'source')
library(DSC2014Tutorial)
slides("Basic") #Basics: data type, basic operations, etc.
slides("ETL1") #ETL on R
slides("ETL2") #Web scrapping
slides("DataAnalysis") #Data analysis
slides("Visualization1") #R basic visualization
slides("Visualization2") #R visualization using ggplot2
slides("Visualization3") #R markdown
R
的網站The Comprehensive R Archive Network,簡稱CRAN,請找download R的連結,然後按照電腦的系統(Windows, Linux, Mac),到任何一個國家的載點,下載最新的版本。R
本身介面並不太友善,RStudio R
之後請下載RStudio (http://rstudio.com)。 如果喜歡把輸出結果放在右上角,可在RStudio設定:View–>Panes–>Console on Rightmypkg <- c('foreign','ISLR','tidyverse','Zeligverse','car','ggplot2','UsingR','lattice','nycflights13', 'stargazer','e1071', 'dplyr', 'tidyr', 'emoGG', 'ggthemes', 'psych', 'ggstatsplot',
'CTT','TSstudio','Rcolorbrewer')
install.packages(mypkg)
devtools
這個套件,然後去Github找可以下載套件的地方,例如:install.packages('devtools') #assuming it is not already installed
library(devtools)
devtools::install_github(
repo = "jtlandis/ggside", # package path on GitHub
dependencies = TRUE,
quick = TRUE # skips docs, demos, and vignettes
)
R
的版本有可能會隨著時間而更新,建議定時到CRAN下載最新版的R
。然後重開RStudio,讓RStudio會使用R
的最新版本。
而我們下載的各種套件,在Mac系統上,可以用updateR套件更新,指令如下:
library(devtools)
install_github('andreacirilloac/updateR')
library(updateR)
updateR(admin_password = 'Admin user password')
library(installr)
updateR()
1 假設在你的桌面開一個工作目錄叫做 stat2022
2 到本課程的moodle下載壓縮檔,解壓縮,然後複製貼上資料檔到stat2022
3 到RStudio–>File–>New Project–>existing director–>Browse (找到stat2022)–>Create Project–Switching to project
4 資料檔應該都在RStudio右下角的視窗了,下次你開RStudio,File–>Recent projects,選擇stat2022,就會看到所有相關檔案在右下角。
5 如果你打開stat2022這個Project但是不小心跳到別的資料夾,到右下角找到More–>Go To Working Directory,應該就會回到stat2022
每一次進入RStudio之後,請打開想執行的計劃案,才能進入正確的路徑,否則RStudio的內建路徑是由Tools–>Global Options–>General決定。
R
可讓使用者在R–>環境設定中,設定要讀取資料來自的資料夾,或是儲存資料之前指定工作目錄,以確定分析結果例如畫圖可以儲存到特定的資料夾。也可以用語法表示,例如:setwd('C:/my documents/mywork')