• 沒有找到結果。

25-02 R資料分析應用:圖表繪製(一)

N/A
N/A
Protected

Academic year: 2021

Share "25-02 R資料分析應用:圖表繪製(一)"

Copied!
7
0
0

加載中.... (立即查看全文)

全文

(1)

1

R 資料分析應用:圖表繪製(一)

尤子芸 副統計分析師 上一期的生統eNews 教大家安裝 R 軟體,介紹了 R 軟體的使用界面,以及 描述性統計與平均數檢定等統計方法,接下來本期的生統eNews 將為各位介紹 如何運用R 軟體執行最直觀的資料檢視方法:圖表繪製。 當面對一組結構未知的資料時,做資料分析前,需要瀏覽資料,此時利用 統計圖表來快速理解資料的特性是相當重要的。圖表繪製又稱為「資料視覺 化」,而資料視覺化的目的為使用簡單的方式,降低理解複雜的資料。我們可以 利用資料視覺化這樣的方式,清楚且有效地呈現資料的分佈,即使不是統計專 家也能看圖說故事,將雜亂的「資料」轉化為有用的「資訊」。 在本期的生統eNews 中,我們將依序介紹使用 R 軟體繪製次數分配表、列 聯表、莖葉圖、2D 散佈圖以及 3D 散佈圖。本章節統一使用來自於基隆社區為 基礎的整合篩檢計畫(Keelung Community-based Integrated Screen Program, KCIS) 的心血管疾病資料作為範例資料檔,有關此資料的詳細資訊及變數定義請參閱 生統課程資料檔中的資料說明檔。  範例資料檔案 檔案可從臺北醫學大學管理學院的生物統計研究中心網頁中的生統課程資 料檔位置下載 http://biostat.tmu.edu.tw/index.php/course/tmudata,下載檔案名稱 "CVD_All" 源自於基隆地區整合篩檢計畫(KCIS),其檔案格式為 CSV 檔。 程式碼-1 #讀入資料,命名為 CVD CVD=read.csv("G:/CVD_all.csv") #步驟 2 偵測資料中是有遺失值 na.fail(CVD) #步驟 3 若資料中有遺失值,要先去除遺失值 CVD_ok=na.omit(CVD) #查看讀入之檔案 CVD_ok View(CVD_ok)

(2)

資料型態: 在上一期的生統eNews 中,已經介紹過如何匯入不同格式之檔案,詳細資 訊請自行參閱。  次數分配表 次數分配表是常見的描述性統計方法,將類別資料依照其組別分組, 或將數執行資料依照觀察值的大小分成若干組,計算每一組別的次數、相 對次數,與百分比等資訊,以了解資料的分佈情形。 假設研究人員欲了解心血管疾病資料中年齡變項的頻率/次數分配情 形,但在資料中年齡變項為連續資料,那麼我們就必須先將年齡變項做分 組,此處示範以10 歲為單位做資料分割,將其分為“小於 10 歲”、 “10~20”、“20~30”、“30~40”、“40~50”、“50~60”、 “60~70”、“70~80”、“80~90”,以及“超過 90 歲”,共 10 組,分 組完後就可以進行次數分配表的製作。 在R 軟體中,我們將使用 cut()函數來將連續資料轉換成類別資料,以 進行次數分配表製作。

(3)

3  列聯表 列連表為根據兩個(或以上)的類別變數繪製而成的次數分配表。當選 擇多個分層變數時,又稱為多維列聯表。 假設研究人員想了解KCIS 此筆資料中,參與研究者之個人心血管疾 病史其性別之分布,那麼我們就來製作一個使用個人心血管疾病史作為行 變數,性別作為列變數繪製列聯表。 程式碼-2 #步驟 1. 對年齡變項做分組 CVD_ok$age_gruop=cut(CVD_ok$年齡,

breaks = c(-Inf,10,20,30,40,50,60,70,80,90, Inf), #Inf 為無限值

labels = c("小於 10", "10~20","20~30","30~40","40~50","50~60","60~70", "70~80","80~90","超過 90"))

#cut(x, breaks=分組的切點, lables=分組標籤名稱)

#步驟 2. 計算年齡分組次數分配表 n=length(CVD_ok) #計算資料總筆數

f=table(CVD_ok$age_gruop) #table 函數為計算變項之次數分配 rf=f/sum(f) #計算相對次數(relative frequency)

cf=cumsum(f) #計算累計次數 crf=cf/sum(f) #計算累計相對次數 table_agegroup=t(rbind(f, cf, rf,crf)) #使用 rbind 函數將上面計算的數值合併, 再用t 函數將橫與列欄位做轉置 #查看製作完成的次數分配表: table_agegroup 程式碼-3.1

table_cvd_gender= table(CVD_ok$性別, CVD_ok$心血管疾病)

(4)

 莖葉圖 莖葉圖也是一種呈現資料分布結構的方法,其特色在於呈現方式類似 直方圖,卻又能保留原始數據資料。除了可以看出像直方圖一般的資料散 佈趨勢之外,同時也能更詳細的表現出個別樣本資訊,對於資料量不大的 狀況下尤其適用。 由於在資料量較大的情況下,並不建議使用莖葉圖,因此我們匯入原 資料(CVD_all.CSV)的前 100 筆樣本作為此處的範例資料。 假設研究人員想知道此100 筆樣本中,腰圍的資料分布情況,故繪製 了上圖的莖葉圖,由圖所示,「|」代表莖葉的分界,且 R 軟體中的預設單 位為1,所以圖中的 6|7 即表示 67,7|0 即表示 70,以此類推。 程式碼-3.2 colnames(table2)=c("CVD_no","CVD_yes") #行變數命名 rownames(table2)=c("Female","Male") #列變數命名 #查看列聯表 table_cvd_gender 程式碼-4 #取 100 筆樣本 cvd_100=read.table("I:/我的雲端硬碟/201806_enews/CVD_All.csv", header = TRUE, sep = ",",nrows = 100)

#繪置莖葉圖

(5)

5  2D 散佈圖 2D 散佈圖可用來將兩個可能相關的數值變項分別置於座標圖上的 X 軸與Y 軸,用圓點標示每個資料點的位置,可初步觀察兩變數之間的相關 性。為了能讓散佈圖能較清楚的表示出每個資料點的位置,此處將使用 100 筆樣本的範例資料。 假設研究人員想知道參與研究者之個人心血管疾病史作為分層,心臟 收縮壓(SysBP)與心臟舒張壓(DiaBP)之相關性。 從上圖可大致看出心臟收縮壓(SysBP)與心臟舒張壓(DiaBP)大致呈現 性關係,且以個人心血管疾病史(CVD)做分層檢視,在相同的舒張壓水平下, 曾患有心血管疾病者有出現部分觀察值為收縮壓偏高的現象。 程式碼-5 #繪製 2D 散佈圖 plot(cvd_100$收縮壓[cvd_100$心血管疾病==0], cvd_100$舒張壓[cvd_100$心血管疾病==0],pch=19,col="Black", xlab = "SysBP",ylab = "DiaBP",main="KCIS")

#plot(x, y, pch=符號, col=顏色, xlab=x 軸名稱, ylab=y 軸名稱, main=散

佈圖名稱)

points(cvd_100$收縮壓[cvd_100$心血管疾病==1],

cvd_100$舒張壓[cvd_100$心血管疾病==1],pch=19,col="Red")

(6)

 3D 散佈圖 若研究人員想同時觀察空腹血糖、高密度脂蛋白、三酸甘油脂三者之 間的相關性,那麼前面所介紹僅以二維平面呈現的散佈圖就會顯得不敷使 用,此時,我們就能使用3D 散佈圖來了解資料分佈的趨勢了。3D 散佈圖 提供繪製視覺上最高維度(三度空間,3-dimension)的散佈圖,以提供使用 者可以同時利用三個變數所繪製之圖形解釋資料,大幅提升了解資料特徵 之能力。進行繪製3D 散佈圖之前,必須先安裝”rgl” package。 程式碼-6 #安裝”rgl” install.packages("rgl") library("rgl") #繪製 3D 散佈圖 plot3d(cvd_100$空腹血糖[cvd_100$心血管疾病==0], cvd_100$高密度脂蛋白[cvd_100$心血管疾病==0], cvd_100$三酸甘油酯[cvd_100$心血管疾病==0], xlab="AC",ylab="HDL",zlab="TG",col="Black",type="s",size=1,main="KCIS")

#plot3d(x, y, z, xlab=x 軸名稱, ylab=y 軸名稱, zlab=z 軸名稱, col=顏色, type=

資料點形狀, size=資料點大小, main=3D 散佈圖名稱)

plot3d(cvd_100$空腹血糖[cvd_100$心血管疾病==1], cvd_100$高密度脂蛋白[cvd_100$心血管疾病==1], cvd_100$三酸甘油酯[cvd_100$心血管疾病==1], col="Red",type="s",size=1,add=T)

#plot3d(x, y, z, col=顏色, type=資料點形狀, size=資料點大小, add=將此資料

(7)

7

上圖為3D 散佈圖的繪製結果,在 R 軟體中可以利用滑鼠滾輪調整圖

大小,或拖曳變換視角從不同角度認識資料。  參考資料

1. R 軟體 應用統計方法 陳景祥編著 東華書局

2. Package 'rgl' - CRAN-R - R Project

參考文獻

相關文件

利用 Microsoft Access 資料庫管理軟體,在 PC Windows 作業系統環境 下,將給與的紙本或電子檔(如 excel

(軟體應用) 根據商務活動之舉辦目標及系統需求,應用 Microsoft Office 文書處理 Word、電子試算表 Excel、電腦簡報 PowerPoint、資料庫 Access

上列兩個範例是屬於連續型資料相同,但是組距不相同,比較看看,統計圖表有

審查整理呈現資料:蒐集到的資料應先審核 是否完整、正確、合理與一致,然後利用敘

實務上在應用 SPSS 軟體 run 完主 成分分析後,應該進一步進行因素 轉軸,在社會科學研究中,varimax 法為最常使用的,varimax

由學生大使分組帶領體驗 Zentangle 繪畫

動畫設計師常需利用電腦來繪製 3D 圖形,當他覺得螢幕上所呈現的影... 大部分的組織及個人都必須經由

D5.1 應用1個具體圖像代表 1個單位,製作象形圖 D5.2