

摘要:隨著大數據的迅速發展,醫學類專業的學科建設迫切需要培養學生對醫學領域涉及的大數據進行收集、分析和處理的能力。在這一背景下,R語言作為一種簡單易上手的統計編程工具備受關注,被認為是一種適合推廣給醫學類專業學生應用的工具。因此,以醫學類專業的教學實踐為基礎,深入探討基于R語言的統計分析在醫學類專業教學中的實際應用。通過介紹基于R語言的教學方法及其在醫學統計分析中的實際應用,旨在幫助學生建立起數據分析的基礎,為其未來在醫學研究和實踐工作中的應用打下堅實的基礎。
關鍵詞:醫學類專業大數據統計分析R語言教學實踐
中圖分類號:G642.0
TeachingPracticeandExplorationofStatisticalAnalysisinMedicalSpecialtiesBasedonRLanguage
CHENYuyunOUYANGDong*WANGYaomingXIONGGangqiang
SchoolofBiomedicalEngineering,GuangdongMedicalUniversity,Zhanjiang,GuangdongProvince,524023China
Abstract:WiththerapiddevelopmentofBigData,thereisanurgentneedforthedisciplineconstructionofmedicalmajorstocultivatestudents'abilitytocollect,analyzeandprocessthebigdatainvolvedinthemedicalfield.Inthiscontext,Rlanguage,asasimpleandeasy-to-usestatisticalprogrammingtool,hasattractedmuchattentionandisasuitabletooltobepromotedtomedicalstudents.Therefore,basedontheteachingpracticeofmedicalmajors,thisarticledelvesintothepracticalapplicationofRlanguage-basedstatisticalanalysisinteaching.ByintroducingtheRlanguage-basedteachingmethodanditspracticalapplicationinstatisticalanalysis,itaimstohelpstudentsestablishthefoundationofdataanalysisandlayasolidfoundationfortheirfutureworkinmedicalresearchandpractice.
KeyWords:Medicalmajor;BigData;Statisticalanalysis;Rlanguage;Teachingpractice
隨著大數據時代的迅猛發展,各行各業迎來了新的機遇與挑戰。在醫學本科教學中,為了與時俱進,迫切需要一種簡單易上手的統計編程工具。由于統計數據其概念抽象、邏輯性強、公式復雜、運算量大,學生普遍感到難以理解,影響了其應用能力,增加了教學難度[1]。R語言以其易用性和強大功能而備受推崇[2],因此,在醫學專業中選擇采用R語言進行教學,能夠幫助學生更好地學習和應用統計分析。
“信息技術基礎”是廣東醫科大學開設的一門針對預防醫學、藥學、衛生檢驗與檢疫、臨床醫學和醫學檢驗技術等非計算機專業學生的公共基礎課,其中包含了R語言編程[3]。作為信息技術基礎課程的一部分,選擇了R語言作為統計分析的教學工具,以適應大數據時代的發展需求。這一選擇不僅能夠幫助醫學生提升其科研能力、應用循證醫學和制定預防策略,還能增強其職業競爭力。統計分析在醫學中具有重要作用,為醫學生和專業人士提供科學的診斷和治療支持,在科研、臨床決策和公共衛生等方面發揮著關鍵作用[4]。
本文旨在探討在廣東醫科大學“信息技術基礎”課程中,基于R語言的統計分析在醫學類專業的教學實踐與探索。內容包括對R語言特點及教學內容進行簡單介紹,對R語言在醫學統計應用到的案例進行分析,最后對R語言的實踐教學進行總結與反思。
R語言由新西蘭奧克蘭大學的RossIhaka和RobertGentleman于1993年共同開發。作為一種在GNU協議下運行的開源解釋型語言,R主要用于可視化、統計分析和數據處理[5]。
在當前嚴格保護知識產權的環境下,使用商業軟件進行統計學實驗可能會帶來昂貴的費用負擔。R語言的集成開發環境RStudio則是完全開源提供免費使用,還能在MacOS、Windows和Linux等多個平臺上穩定運行,確保師生都能夠進行實驗設計并且做統計分析。此外,R語言的語法簡單易學,用戶可以根據需求編寫函數擴展其功能,并以附加程序包形式發布。到目前為止,R語言的程序包涵蓋了生物信息學、統計學、醫學統計學等多個領域,滿足了各領域專業人士的需求。
R語言在數據獲取、整理、可視化和量化分析方面功能全面。它可以從多種數據源導入數據,并利用豐富的函數工具庫(如data.table、dplyr)進行數據整理和分類。R語言還包括多種數據可視化工具,使用者可通過ggplot2等擴展包實現復雜圖形的繪制。此外,R語言支持多種數據分析技術,如線性和非線性回歸、時間序列分析、聚類分析和神經網絡分析[6]。
隨著R語言的廣泛應用,R語言用戶社區規模不斷擴大,并提供了豐富的學習資源,如RDocumentation、stackoverflow、crossvalidated和R-bloggers等平臺,提供豐富的R語言注釋、分析和實例,極大地便利了學習者使用R語言解決實際問題。
基于這些優勢,將R語言應用于醫學本科生的教學實驗中,可以幫助學生更有效地進行數據統計分析,克服以抽象概念和公式為主的教學局限。
1.2R語言的教學設計
在R語言的教學中,主要涵蓋了數據對象及其處理、文件操作、R程序設計、數據可視化與繪圖以及統計學有關應用知識這幾個方面。
1.2.1數據對象及其處理
在醫學統計中,R語言提供了豐富的數據類型和數據對象,這些數據類型包括:數值型(integer)、邏輯型(logical)、整數型(integer)、字符型(character)和復數型(complex)。這5種數據類型構成了7種數據對象。其中,這7種數據對象分別是向量(vector)、因子(factor)、數組(array)、矩陣(matrix)、數據框(frame.data)、時間序列(timeseries)和列表(list)。此外,R語言可以通過class、mode和typeof命令判斷數據類型,其中,typeof更為精細,可區分數值型為integer或double,但整數型需用大寫字母L標志,is和as前綴用于數據類型判斷和轉換。
在教學中,著重介紹和實踐這7種數據對象,以確保學生建立扎實的基礎。隨后,我們深入探討數據處理的方法數據框作為一種常見的二維表格形式,在醫學統計中被廣泛應用,用于展示各種醫學數據。我們著重介紹如何處理數據框中的數據,包括處理特殊值(如Inf、NaN、NA、NULL等),以及常用于數據清洗、抽取和整合的函數操作。這些教學內容將幫助學生更好地理解和應用R語言進行醫學數據分析,為他們未來的研究和實踐工作奠定堅實基礎
1.2.2文件操作
在醫學領域,文件操作對于研究人員來說至關重要,因為他們需要處理和分析各種類型的醫學數據以支持臨床決策和科學研究。例如:研究人員可能需要從臨床試驗數據庫中讀取患者的病歷數據和治療結果,以評估藥物療效或疾病進展情況。又如:在基因組學研究中,研究人員需要讀取基因測序數據文件,從中提取患者的基因型信息,并進行遺傳關聯分析以研究疾病的遺傳基礎。此外,醫學影像數據如MRI和CT掃描圖像也是醫學研究中的重要數據來源,研究人員可能需要將這些圖像文件導入R中,進行圖像處理和分析以輔助臨床診斷。
因此,教學中會重點介紹常用的文件讀取函數如read.csv和read.table,以及保存函數如write.csv和write.table。例如:學生將學習如何使用read.csv函數讀取患者的病歷數據文件,如何使用write.csv函數保存分析結果。此外,我們將演示如何處理更復雜的文件格式,如使用read.table讀取基因測序數據,并將分析結果保存到文件中以便進一步研究。通過這些實際案例的演示和練習,學生將學會如何有效地導入和導出各種類型的醫學數據,為進一步的數據分析和研究工作打下堅實基礎。
1.2.3R程序設計
在教學過程中,將繼續深入探討R語言中的其他重要內容,如條件語句(如if-else和switch等語句)、循環結構(如for循環和while循環)以及函數的遞歸調用(function()結構體語句)。例如:學生將學習如何使用不同條件語句來根據不同的情況執行不同的操作,比如根據患者的檢測指標判斷其健康狀態;在循環結構方面,學生將學會使用for循環來辨別患者的病歷數據,或使用while循環實現特定條件下的重復操作,如持續監測某項生理指標直到達到安全范圍。此外,教師還將引導學生學習如何編寫和調用自定義函數,以解決特定問題,例如:編寫一個函數來計算患者的身體質量指數(BMI),或者一個遞歸函數來模擬疾病傳播模型。通過這些實際案例的講解和實踐,學生將逐步掌握R編程的基本原理和技巧,為進一步的數據分析和醫學統計工作打下堅實基礎。
1.2.4R語言數據可視化與繪圖
在醫學統計中,R語言的數據可視化和繪圖功能是不可或缺的工具。除了繪制基本的直方圖(hist)、條形圖(barplot)、餅圖(pie)和散點圖(plot)等之外,R還提供了更加豐富和高級的繪圖方式,如箱線圖(boxplot)、小提琴圖(vioplot)等。例如:醫學研究人員可以使用R語言繪制直方圖來展示患者的年齡分布情況,以了解研究人群的年齡特征;也可以使用條形圖來比較不同治療組之間的臨床指標變化情況,從而評估不同治療方案的效果;此外,餅圖可以用于展示患者不同病因所占比例,可以幫助醫生更好地了解疾病的發病情況;而箱線圖則常用于展示不同組間數據的分布情況,如患者不同年齡段的血壓水平對比等。此外,小提琴圖作為一種更加直觀和豐富的分布圖形,常用于展示連續變量的分布情況,例如:不同性別患者的生物標志物水平分布。通過這些繪圖方式,醫學研究人員可以直觀地呈現數據的特征和規律,從而為醫學統計分析提供有力的支持。
1.2.5統計學有關知識應用
在醫學統計中,R語言作為一種強大的數據分析工具,常用于處理和分析醫學數據。首先,醫學研究人員需要了解隨機變量及其分布。R語言提供了多種概率分布函數,如正態分布(dnorm)、卡方分布(dchisq)和t分布(dt),用于描述和分析不同類型的數據。其次,研究人員還需要掌握點估計和參數檢驗的方法。R語言提供了豐富的統計函數和工具,如樣本均值(mean)、方差(var)、t檢驗(t.test)、方差分析(anova)和卡方檢驗(chisq.test),幫助醫學研究人員對數據進行參數估計和假設檢驗,從而做出科學的統計推斷和決策。通過學習和應用這些函數,醫學研究人員可以更好地理解醫學數據并做出科學的決策。
2R語言在醫學統計中的教學案例分析
根據醫學專業涉及的數據,結合R語言所學的知識,進行了一系列統計案例分析。這些分析不僅涵蓋了數據收集和處理,還包括數據可視化和結果解讀,從而幫助學生更全面地理解和應用統計方法。
在R語言的統計分析中,ISwR包提供了許多有用的數據集,其中之一是melanom數據集,表1為melamon數據集前10行的數據。該數據集包含了惡性黑色素瘤的生存數據。我們可以利用該數據集,針對黑色素瘤厚度、生存狀況和潰瘍這三列屬性數據,使用boxplot函數來繪制箱線圖。
首先,進行數據預處理,將潰瘍(ulc)列中的1替換為“yes”,2替換為“no”。接下來,繪制組間黑色素瘤厚度的箱線圖,分組標準為變量status和ulc。具體來說,status代表生存狀態,其中1代表死于黑色素瘤,2代表存活,3代表死于其他原因;ulc代表潰瘍,其中yes代表有潰瘍,no代表沒有潰瘍。所繪制出的黑色素瘤厚度的組間對比圖見圖1。繪制箱線圖的R代碼如圖1所示,為了了解melamon數據集,我們列舉該數據集的前10行的數據如表1所示。最終,繪制出的組間黑色素瘤厚度的箱線如圖2所示。
通過這種方式,學生能夠直觀地比較不同生存狀態和潰瘍狀況下黑色素瘤厚度的分布情況,幫助學生理解并掌握如何進行數據預處理和可視化分析。這個實際案例不僅強化了學生對統計分析的理解,還提升了他們在醫學數據分析中的實戰能力。
3R語言在醫學統計教學中的實踐思考
圍F69JEluuKVig9HeYEC4Fyw==繞R語言在廣東醫科大學的“信息技術基礎”這門課的教學,我們設計了一個由30個學時的理論課和30個學時的實驗課組成的完整教學體系。每周安排兩節理論課和兩節實驗課,讓學生在理論學習的基礎上實踐編程,深化對R語言編程的理解。我們將廣東省計算機二級考試作為期末考核方式,學生通過后可獲得計算機二級等級證書,這種考核方式全面激發了學生的學習興趣,并為他們未來的職業發展提供了有力支持。
4結語
在醫學統計學中,R語言的應用已經成為一種不可或缺的工具。通過本文介紹的教學實踐和案例分析,可以看到R語言在醫學領域的廣泛應用,以及它在培養學生數據分析能力和實踐操作技能方面的重要作用。隨著醫學數據的不斷增長和復雜性的提高,掌握R語言這樣的統計工具變得愈發關鍵。因此,我們應該不斷探索和完善R語言在醫學教育中的應用,以期為培養具有數據分析能力的醫學專業人才做出更大的貢獻。
參考文獻
[1]曹慧芬.大數據背景下R語言在醫學統計學教學實驗中的應用[J].科教導刊,2021(25):149-151.
[2]閻潔,楊俊麗,王建文,等.R語言在醫學院校生物信息學實驗教學中的應用與探索[J].醫學信息學雜志,2020,41(1):87-89,86.
[3]王耀民,何文廣,丘文峰,等.信息技術基礎課程的混合式教學探索[J].福建電腦,2022,38(2):103-106.
[4]郭麗,江暢,王俊.基于R語言的醫學統計學教學實踐和探索:以南京郵電大學生物醫學工程專業為例[J].智能計算機與應用,2022,12(10):113-116.
[5]武止戈,陳宇琦,劉赟.基于R語言的“統計學方法”課程教學實驗設計[J].科教文匯(上旬刊),2021(28):110-114.
[6]柯朝甫.醫學本科生R語言教學初探[J].教育現代化,2018(48):233-234,245.