SlideShare une entreprise Scribd logo
1  sur  50
Télécharger pour lire hors ligne
1
李昕迪李昕迪
高雄榮民總醫院核醫部高雄榮民總醫院核醫部
Department of Nuclear MedicineDepartment of Nuclear Medicine
Kaohsiung Veterans General HospitalKaohsiung Veterans General Hospital
RR 軟體經驗分享軟體經驗分享
2017-06-182017-06-18
2
自我介紹
●
李昕迪 / mcdlee
●
核醫部總醫師
●
從 2013 年夏天開始學習 R 軟體
3
調查一下
●
之前曾經應用過統計嗎?
●
有用過 Excel 的函數嗎?
●
以前就聽過 R 了嗎?
4
安裝
●
請安裝 R 的主程式
●
請安裝編輯環境 RStudio
●
安裝 package ,今天會用到:
◆ tidyverse
◆ psych
◆ ggplot2
◆ reshape2
◆ plyr
5
為了避免中文亂碼
● Tool > Project options > Code editing >
Text encoding 請選 UTF-8
https://support.rstudio.com/hc/en-us/articles/200532197-Character-Encoding
6
●
如果 RStudio 開不起來,
請在圖示按右鍵,選擇「以
系統管理員身分執行」
7
http://wd.vghtpe.gov.tw/biostat
/
8
● Fond by Ross Ihaka and Robert Gentleman in the
University of Auckland in New Zealand in 1993
●
內涵包羅萬象
◆
統計、畫圖
◆
這幾年因 Data mining 而爆紅
2013 年以前
「試算表」是
我大半人生的統計工具
( 檢定除外 )
1998 年
●
學會了用「增益集」中的分
析工具箱產生分析統計等資
料
●
建立常態分布的峰態、峰度
等概念
試算表的缺點
●
程式和資料混在一起,而且不夠盡興
●
版本控制不容易
●
跨平台相容問題
◆ Open Document
◆ Google Document
●
沒有讀寫資料庫的功能
R 的特色
●
它本身是一種程式語言
●
跨平台
●
開放原始碼社群很發達
14
●
CityBike 地圖
https://github.com/mcdlee/KHCityBike
https://mcdlee.shinyapps.io/KHCityBike/
●
社區醫療群地圖
●
學分 CSV 產生器
https://github.com/mcdlee/LectureCSV
15
特殊的統計需求
● Propensity score matching
● Structural Equation Modeling
● Machine learning
● Inter-observer agreement
16
今天講的 R 會比較簡化
●
我刻意只使用其中一種資料物件: data.frame
●
今天不講像程式的面向
◆
例如 loop 或 function
●
目標是上完今天的課,可以讓你:
◆
獨力完成一篇 original article 的統計
◆
有一些基礎可以自學你需要的功能
1717
前言講完了前言講完了
18
今天的教材
●
資料整理和繪圖
◆ RStudio Cheatsheet
https://www.rstudio.com/resources/cheatsheets/
● Data import
● Data Visualization
●
檢定
◆
中國醫藥大學 生物統計研究所
◆
金門大學陳鍾誠老師
◆ Quick-R
19
準備你的資料
●
你一定會想到 Excel
( 或其他試算表 )
●
大原則
◆
一個 column 代表一個
變數
◆
一個 row 代表一個病人
( 或一次觀察 )
20
常見錯誤
21
合併儲存格
22
在數字的變數裡面加文字
23
同一個變數用不同的表達方式
24
一個 row 裡面有兩個不相干的人
25
其他注意事項
●
編號或索引,分析到一半發現不對勁可以回過頭來看是不是輸入錯誤
●
格子裡面的內容盡量簡明,但不要讓人看不懂。
●
一個現象要用不只一個變數描述會比較容易處理,但代價是你會得到一個很寬的表格:
◆
例如 副作用
●
有些變數是另一些變數計算出來的結果,可以不用輸入,讓電腦計算即可。
26
要收集哪些資料?
27
我想知道 ...
我用不同交通工具上班花的時間
28
●
交通工具、耗費時間
●
日期、交通工具、耗費時間
●
日期、交通工具、天氣、出發時間、到達時間
●
日期、交通工具、天氣、出發時間、停好車的時間、到達辦
公室的時間
●
日期、交通工具、天氣、選擇的路線、出發時間、停好車的
時間、到達辦公室的時間
29
怎麼規劃你要收集的變數
就決定你可以回答的問題
30
來介紹今天的資料
31
就是上次的課前問卷
32
事先整理
●
過濾前面所說的常見錯誤
●
避免重複的變數名稱
●
我會避免中文的變數名稱
33
先建立一點關於「寫程式」的觀念
●
變數 (variable)
◆
程式語言的「特定名詞」
◆
可以 assign 一個值,也可以改變
◆
變數有很多種類別
●
以 R 為例,有 string 、 numeric 、 factor 、 list 、 matrix 和 data.frame
●
函數 (function)
◆
程式語言的「動詞」,它的受詞稱為引數 (argument) ,可以放變數
●
指令的運作是一行一行依序執行的
●
程式碼可以視為指令組成的腳本,可以想成程式語言的「文章」
34
●
今天圍繞著 data.frame
◆
跟 SPSS 和 Excel 很像
◆
同一個 column 內必須是同一種類別的變數
35
資料匯入
36
●
程式碼
◆ *.r file
●
資料匯出
◆
試算表或表格 ( 如右 )
◆ R markdown
可以製造一個網頁出來
37
簡單的敘述統計
● summary()
●
調整變數的性質
◆
變成分類變項 as.factor()
◆
變成數字 as.numeric()
◆
變成時間或日期 as.Date()
◆ …
● describeBy()
38
資料再整理
●
製造新的變數
◆
例如: BMI
●
製造整理過的表格
◆
有時要為了之後要用的套件調整新表格的欄位
●
例如等下要介紹的作圖
39
作圖
●
用原始資料即可
◆ Scatter plot
◆ Boxplot
◆ Histogram
●
需要先產生新表格
◆ Barplot
4040
統計檢定統計檢定
41
今天要介紹的檢定種類
● T-test
◆ One-sample
◆ Independent Two-sample
● One-tail
● Two-tail
◆ Paired T-test
◆
替代方案
● Chi-square test
●
回歸分析們
42
所有的檢定都有共同的脈絡
●
先建立虛無假設
●
再推翻虛無假設
43
各種 T-test 的虛無假設
● 通常需要 n >= 30
● One-sample: H0: μ = 某數
● Independent Two-sample
◆ Two-tail: H0: μ1 = μ2 ( 醫學期刊最常用 )
◆ One-tail: H0: μ1 >= μ2 or μ1<=μ2
● Paired T-test
◆
每個的差值組成的新集合 μ = 0
44
各種 T-test 的 R 語法
● One-sample:
t.test(y, mu=3) [ 檢驗是否平均值為 3]
● Independent Two-sample
◆ Two-tail: H0: μ1 = μ2
t.test(y~x)
t.test(y1,y2)
◆ One-tail: H0:
t.test(y~x, alternative=”greater”)
t.test(y~x, alternative=”less”)
● Paired T-test
◆ t.test(y1,y2, paired=TRUE)
45
如果不是常態分佈怎麼辦?
●
無母數分析
◆
兩組: Mann-Whitney U Test
● wilcox.test(y~A)
wilcox.test(y1,y2)
wilcox.text(y1,y2,paired=TRUE)
◆
多組: Kruskal Wallis Test
● kruskal.test(y~A)
46
Chi-square
●
虛無假設:
X 和 Y 彼此獨立
●
推翻虛無假設之後還要找是
哪兩組之間沒有彼此獨立
●
R 語法:
chisq.test(x,y)
x1 x2 x3
y1 n11 n21 n31
y2 n21 n22 n32
Patient X Y
A X1 Y1
B X1 Y1
C X2 Y2
D X2 Y2
E X2 Y1
F X3 Y2
... ... ...
47
Regression
●
Linear regression ( 連續變項 → 連續變項 )
◆
虛無假設:自變數和應變數不存在線性關係
◆
推翻虛無假設:可找到 y = aX1+bX2+c 的關係
●
Logistic regression ( 連續變項 → 分類變項 )
◆
係數的意義:當自變項增加一個單位,依變項 1 相對依
變項 0 的機率會增加幾倍 (odds ratio)
48
ANOVA
● Analysis of variance
◆
本質也是回歸
◆
單個或多個連續變項或分類變項 → 連續變項
49
●
上述三種 regression 在使用 R 來完成的時候都需要設定
formula
◆ y~A
◆ y~A+B
◆
y~A+B-1 ( 強制去掉常數項 )
◆
y~A*B (A 和 B 有交互作用,和 y~A+B+A:B 一樣的意思 )
●
然後
◆ lm()
◆ glm(formula, …, family=binomial(link="logit"))
◆ aov()
5050
Any QuestionAny Question
or Suggestion?or Suggestion?

Contenu connexe

Plus de Sin-di Lee

20110820 coscup
20110820 coscup20110820 coscup
20110820 coscupSin-di Lee
 
在談輻射地圖之前,你應該懂的輻射
在談輻射地圖之前,你應該懂的輻射在談輻射地圖之前,你應該懂的輻射
在談輻射地圖之前,你應該懂的輻射Sin-di Lee
 
研究計畫討論會
研究計畫討論會研究計畫討論會
研究計畫討論會Sin-di Lee
 
OpenStreetMap 的公益應用
OpenStreetMap 的公益應用OpenStreetMap 的公益應用
OpenStreetMap 的公益應用Sin-di Lee
 
R 初心者的學習過程
R 初心者的學習過程R 初心者的學習過程
R 初心者的學習過程Sin-di Lee
 
OpenStreetMap Taiwan - Webinar #1: JOSM Presets
OpenStreetMap Taiwan - Webinar #1: JOSM PresetsOpenStreetMap Taiwan - Webinar #1: JOSM Presets
OpenStreetMap Taiwan - Webinar #1: JOSM PresetsSin-di Lee
 
在 Android 平台使用 JOSM Presets @ State of the Map Taiwan 2013 閃電秀
在 Android 平台使用 JOSM Presets @ State of the Map Taiwan 2013 閃電秀在 Android 平台使用 JOSM Presets @ State of the Map Taiwan 2013 閃電秀
在 Android 平台使用 JOSM Presets @ State of the Map Taiwan 2013 閃電秀Sin-di Lee
 
OpenStreetMap 在台灣 @ DrupalCamp Taipei 2013 閃電秀
OpenStreetMap 在台灣 @ DrupalCamp Taipei 2013 閃電秀OpenStreetMap 在台灣 @ DrupalCamp Taipei 2013 閃電秀
OpenStreetMap 在台灣 @ DrupalCamp Taipei 2013 閃電秀Sin-di Lee
 
OpenStreetMap Workshop @ 猴硐
OpenStreetMap Workshop @ 猴硐OpenStreetMap Workshop @ 猴硐
OpenStreetMap Workshop @ 猴硐Sin-di Lee
 
Wheelmap 及其中文化現況 @ State of the Map Taiwan 2012
Wheelmap 及其中文化現況 @ State of the Map Taiwan 2012Wheelmap 及其中文化現況 @ State of the Map Taiwan 2012
Wheelmap 及其中文化現況 @ State of the Map Taiwan 2012Sin-di Lee
 
20121124 wheelmap
20121124 wheelmap20121124 wheelmap
20121124 wheelmapSin-di Lee
 
OpenStreetMap 介紹 @ 朝陽科技大學
OpenStreetMap 介紹 @ 朝陽科技大學OpenStreetMap 介紹 @ 朝陽科技大學
OpenStreetMap 介紹 @ 朝陽科技大學Sin-di Lee
 
談 OpenStreetMap @ HP42
談 OpenStreetMap @ HP42談 OpenStreetMap @ HP42
談 OpenStreetMap @ HP42Sin-di Lee
 
台灣地理資訊學會年會論文發表:自願性地理資訊:以OSM為例
台灣地理資訊學會年會論文發表:自願性地理資訊:以OSM為例台灣地理資訊學會年會論文發表:自願性地理資訊:以OSM為例
台灣地理資訊學會年會論文發表:自願性地理資訊:以OSM為例Sin-di Lee
 

Plus de Sin-di Lee (15)

20110820 coscup
20110820 coscup20110820 coscup
20110820 coscup
 
正子造影
正子造影正子造影
正子造影
 
在談輻射地圖之前,你應該懂的輻射
在談輻射地圖之前,你應該懂的輻射在談輻射地圖之前,你應該懂的輻射
在談輻射地圖之前,你應該懂的輻射
 
研究計畫討論會
研究計畫討論會研究計畫討論會
研究計畫討論會
 
OpenStreetMap 的公益應用
OpenStreetMap 的公益應用OpenStreetMap 的公益應用
OpenStreetMap 的公益應用
 
R 初心者的學習過程
R 初心者的學習過程R 初心者的學習過程
R 初心者的學習過程
 
OpenStreetMap Taiwan - Webinar #1: JOSM Presets
OpenStreetMap Taiwan - Webinar #1: JOSM PresetsOpenStreetMap Taiwan - Webinar #1: JOSM Presets
OpenStreetMap Taiwan - Webinar #1: JOSM Presets
 
在 Android 平台使用 JOSM Presets @ State of the Map Taiwan 2013 閃電秀
在 Android 平台使用 JOSM Presets @ State of the Map Taiwan 2013 閃電秀在 Android 平台使用 JOSM Presets @ State of the Map Taiwan 2013 閃電秀
在 Android 平台使用 JOSM Presets @ State of the Map Taiwan 2013 閃電秀
 
OpenStreetMap 在台灣 @ DrupalCamp Taipei 2013 閃電秀
OpenStreetMap 在台灣 @ DrupalCamp Taipei 2013 閃電秀OpenStreetMap 在台灣 @ DrupalCamp Taipei 2013 閃電秀
OpenStreetMap 在台灣 @ DrupalCamp Taipei 2013 閃電秀
 
OpenStreetMap Workshop @ 猴硐
OpenStreetMap Workshop @ 猴硐OpenStreetMap Workshop @ 猴硐
OpenStreetMap Workshop @ 猴硐
 
Wheelmap 及其中文化現況 @ State of the Map Taiwan 2012
Wheelmap 及其中文化現況 @ State of the Map Taiwan 2012Wheelmap 及其中文化現況 @ State of the Map Taiwan 2012
Wheelmap 及其中文化現況 @ State of the Map Taiwan 2012
 
20121124 wheelmap
20121124 wheelmap20121124 wheelmap
20121124 wheelmap
 
OpenStreetMap 介紹 @ 朝陽科技大學
OpenStreetMap 介紹 @ 朝陽科技大學OpenStreetMap 介紹 @ 朝陽科技大學
OpenStreetMap 介紹 @ 朝陽科技大學
 
談 OpenStreetMap @ HP42
談 OpenStreetMap @ HP42談 OpenStreetMap @ HP42
談 OpenStreetMap @ HP42
 
台灣地理資訊學會年會論文發表:自願性地理資訊:以OSM為例
台灣地理資訊學會年會論文發表:自願性地理資訊:以OSM為例台灣地理資訊學會年會論文發表:自願性地理資訊:以OSM為例
台灣地理資訊學會年會論文發表:自願性地理資訊:以OSM為例
 

20170618 R 軟體分享