





摘要:本文探討了在醫學院校中引入R語言進行醫學統計學教學實踐的策略,以提升學生處理醫療大數據的能力,培養適應醫療大數據時代需求的醫學復合型人才。文章深入分析了醫學院校在醫療大數據和醫學統計學教學中存在的問題,并將R語言與醫學數據相結合,設計了基于R語言的醫學統計學教學案例。在教學過程中實施這些案例,觀察R語言教學的效果。通過案例教學,學生能夠更好地理解醫學統計學理論,并將其應用于實際的醫療數據分析中,顯著提升了他們在處理醫療大數據方面的能力。在醫學統計學教學中引入R語言進行教學實踐,有效提升了學生的醫療大數據處理能力,為培養適應醫療大數據時代需求的高素質醫學復合型人才提供了有力支持。
關鍵詞: 醫療大數據;醫學統計學;R語言;數據可視化
中圖分類號:G642 文獻標識碼:A
文章編號:1009-3044(2024)32-0055-03 開放科學(資源服務)標識碼(OSID) :
0 引言
隨著信息技術、云計算、物聯網和人工智能的發展,醫療數據的收集、存儲和處理能力大幅提升。生物醫學數據、電子病歷、健康監測等應用產生了海量的醫療大數據[1]。這些大數據已成為國家重要的基礎性戰略資源[2]。如何有效利用這些大數據已成為醫療領域面臨的重要挑戰和機遇[3]。然而,許多醫生和學生缺乏醫療大數據統計分析和數據可視化技能,導致這些寶貴資源未能得到充分利用。因此,醫學院校需加強數據科學相關課程的設置,包括醫療大數據統計分析、數據挖掘、機器學習等內容,培養學生的數據分析能力和數據驅動思維。
醫學統計學以數理統計學為基礎,旨在研究生物醫學現象和規律。然而,當前醫學院校的醫學統計學教學存在諸多問題:教材理論性強,與實際應用脫節;教學孤立,缺乏跨學科整合;過度強調統計方法和公式,忽視統計思維培養;軟件工具更新迅速,學生畢業后難以快速適應工作需求;課程模式單一[4]。很多醫學院校僅開設SPSS的醫學統計學課程,但SPSS課程教學中存在局限性,如操作煩瑣、不適用于大數據分析,且正版需付費[5]。為了應對這些挑戰,需要在醫學院校引入新的統計學教材和軟件工具。
與SPSS不同,R語言作為一款具備大數據分析和可視化功能的統計分析軟件,在醫學教育中展現出顯著優勢。其優點包括:
(1) 開源和免費。R語言降低了學習成本。
(2) 適用性廣泛。R語言的靈活性和擴展性使其適合處理大規模醫療健康數據,這對于理解和預測復雜的生物醫學現象至關重要。
(3) 強大的數據分析和可視化能力。R語言在數據分析、統計和結果可視化方面比Excel 和SPSS更強[7]。
(4) 編程能力培養。通過R語言的學習,學生可以培養編程能力。
鑒于R語言的這些特性,其在醫學院校的推廣教學具有重要價值。當前,R語言在醫學統計學中的應用尚在探索階段,將R語言課程融入醫學統計學教學,并與SPSS課程互補,有助于發揮其在大數據處理和復雜統計分析方面的優勢。同時,設計結合醫學數據的教學案例,能讓學生在實踐中掌握R語言的應用。
1 教學設計
1.1 教學目標
本課程致力于培養學生在醫學統計分析方面的核心能力,具體分為以下三個相互支撐的教學目標。
(1) 掌握醫學統計分析理論基礎。
學生將深入了解醫學統計學的基本概念、原理和方法,掌握描述性統計和推斷性統計的基礎知識,并進一步學習高級統計技術,如回歸分析、方差分析和生存分析等。此目標使學生能夠根據不同研究問題,選擇并應用合適的統計方法。
(2) 熟練應用R軟件。
通過實際操作,學生將掌握R軟件在數據輸入、處理、模型建立及結果分析的應用。具體包括編寫R 腳本、使用統計包及解讀統計輸出結果,確保學生能夠有效利用R軟件進行醫學統計分析。
(3) 評價統計分析結果的準確性。
學生將學習如何結合實際背景和專業知識,批判性地評估統計分析結果,理解統計推斷的可靠性和局限性。這一目標要求學生識別并處理潛在的偏差、誤差和假設條件,并學會如何報告這些因素對統計分析結果的影響。
通過實現這三個目標,學生將具備醫學統計分析和大數據處理的能力,為未來的研究和實踐打下堅實基礎。
1.2 課程設計
針對醫學院校的教學特點和學生需求,本課程結合醫學數據,參考相關教材,將具體的教學內容和安排設計如下:
1.2.1 教學內容
(1) R語言編程基礎。
介紹R語言的特點、安裝和配置,講解R語言中的數據結構,包括向量、矩陣、數據框、列表等。
教授如何導入和導出數據(例如CSV、Excel、數據庫格式)。
介紹條件判斷、循環語句以及自定義函數的方法。
教授數據預處理和清洗的基本步驟,包括缺失值處理、異常值檢測和變量轉換。
(2) 醫學數據可視化。
使用R 函數繪制條形圖、餅圖、直方圖、盒形圖等。
深入講解ggplot2包的使用,繪制多種復雜圖形(如散點圖、小提琴圖、熱圖等)。
教授如何將圖形導出為不同格式,并調整分辨率和大小。
(3) 醫學統計分析方法。
增加統計理論基礎的介紹,包括概率論、假設檢驗原理、置信區間等。
介紹常用描述統計量及分類變量的列聯表分析等探索性數據分析。
講解常見假設檢驗方法,如t檢驗、方差分析、卡方檢驗等。
教授高級統計方法,如多重線性回歸分析、Logis? tic回歸分析和生存分析。
1.2.2 教學安排
在課堂上詳細教授R語言編程基礎和醫學統計學的理論知識,以及其在醫學研究中的應用背景。
上機實驗課中,通過具體的醫學數據統計案例,指導學生編寫、調試和運行R語言程序,確保理論知識的實踐應用。
實驗課后,組織學生進行案例分析和討論,加深對統計結果解讀和應用的理解。
通過以上的教學內容和安排,學生將能系統地掌握R語言編程、醫學統計分析及大數據分析和可視化能力,為醫學研究和臨床決策提供科學的數據分析支持。
2 使用R 語言實現醫學數據統計的一個案例
t 檢驗是假設檢驗中最常用的方法之一,其運用較為簡單、方便[8]。t 檢驗在醫學研究中應用廣泛,涵蓋治療、診斷、因素分析等多個方面,是醫學研究與決策的重要統計工具。兩個樣本均數比較的t 檢驗,也稱為兩個獨立樣本t 檢驗,適用于比較按完全隨機設計得到的兩組數據,其目的是推斷它們各自所代表的總體均數是否相等。
例如,為測定功能性子宮出血癥中實熱組與虛寒組的免疫功能,通過比較其淋巴細胞轉化率(見表1) ,以判斷實熱組和虛寒組的淋巴細胞轉化率均數是否存在差異。
為實熱組與虛寒組的免疫功能淋巴細胞轉化率進行兩個獨立樣本t 檢驗的R編程步驟如下:
(1) 正態性檢驗。
先對實熱組進行正態性檢驗,代碼如下:
0.69, x0 <.8-) c(0.71, 0.76, 0.66, 0.71, 0.72, 0.69, 0.62, 0.67,
shapiro.test(x)
運行上述代碼,結果如下:W = 0.97123, p- value = 0.902。
然后對虛寒組進行正態性檢驗,代碼如下:
y<-c(0.62,0.61, 0.62, 0.64, 0.59, 0.68, 0.69)
shapiro.test(y)
運行上述代碼,結果如下:W = 0.91237, p- value = 0.4126。
實熱組和虛寒組的p 值分別是0.902 和0.4126。兩組p 值均大于0.05,說明兩組數據均來自正態分布的總體。
(2) 方差齊性檢驗。
對實熱組和虛寒組進行方差齊性檢驗,代碼如下:
var.test(x, y)
運行上述代碼,結果如下:p-value = 0.4504,即p值為0.4504,大于0.05,表明實熱組和虛寒組兩組數據的方差差異沒有統計學意義,可以認為實熱組和虛寒組的淋巴細胞轉化率總體方差齊。
(3) 兩個獨立樣本t 檢驗。
兩個獨立樣本t 檢驗的代碼如下:
t.test(x, y, var.equal = TRUE)
運行上述代碼,結果如下:p-value = 0.009249,即p 值為0.009249。按照α=0.05的檢驗水準,實熱組和虛寒組兩組數據差別具有統計學意義,可以認為兩組的淋巴細胞轉化率不同,且實熱組高于虛寒組。
(4) 數據可視化。
(4) 數據可視化。
對于實熱組和虛寒組數據繪制箱線圖,并顯示顯著性水平,代碼如下:
運行上述代碼,結果如圖1中A圖所示。
3 使用R 語言實現醫學數據可視化的一個案例
例如,有一個體檢數據,包含部門、性別、身高和體重四個字段,可以對數據進行一些統計和數據可視化。
3.1 對體檢數據進行統計
(1) 創建數據框。
將這四個字段的數據組成一個數據框,代碼如下:
(2) 統計各個部門的人數。
代碼如下:
stat1 <- table(health2$department)
stat 1
運行上述代碼,結果如下:機關:30人,教師:50 人,退休:20人。
(3) 統計各個部門人數占總人數的百分比。
代碼如下:
prop.table(stat1) * 100
運行上述代碼,結果如下:機關:30%,教師:50%,退休:20%。
(4) 統計各個部門的男女人數。
代碼如下:
table(health2$department, health2$sex)
運行上述代碼,各個部門的男女人數結果如下:機關女性:1;機關男性:2;教師女性:3;教師男性:2;退休女性:1;退休男性:1。
3.2 體檢數據的可視化
可以使用ggplot2包中的ggplot函數繪制體檢數據中身高和體重的散點圖,散點圖可以顯示兩個變量的關聯程度。變量之間的相關關系是統計學中常用的方法。代碼如下:
運行上述代碼,結果分別如圖1中B、C、D、E圖所示。
4 教學效果
從醫學統計學中應用R語言的教學經驗來看,學生在學習過程中表現出一定的規律性和特點。在學習的最初階段,通過案例教學法可以將抽象的統計理論具體化,使學生直觀地了解統計學方法在實際問題中的應用,從而激發學習的動力。然而,學生在剛開始學習R語言時,可能會遇到一定的困難。這是因為R軟件本身具有一定的學習曲線,需要學生掌握基本的編程概念和統計分析方法。在這個階段,教師需要提供充分的指導和實踐機會,幫助學生克服入門障礙。隨著學習的深入,學生逐漸掌握了R語言編程和數據可視化的基本知識,能夠運用所學的統計方法分析實際問題,能力得到顯著提升,能夠獨立進行數據分析并理解統計分析的結果。通過動手實踐,學生不僅學會使用R軟件,還能更加深入地理解統計方法背后的原理和邏輯,這種理解更為深刻和持久。
5 在醫學統計學中引入R 語言教學的益處
醫學統計學課程內容繁多且理論抽象,直接讓學生掌握大量公式推導可能難以消化。此外,學生普遍存在數理統計基礎薄弱的問題[3],因此,教學策略應注重實踐操作和應用導向。將R語言作為醫學統計學的教學工具引入,是一個符合現代醫學數據分析需求的重要舉措,具有以下益處:
(1) 實現數據分析工具現代化。隨著醫學大數據時代的到來,傳統統計軟件如SPSS、SAS在處理大數據集時可能存在效率問題。R語言具有強大的數據處理能力和靈活的編程特性,能更好地適應現代醫學研究的需求。
(2) 強化應用性。通過R語言,學生可以專注于實際操作和分析醫學大數據,而非深入復雜的數學統計公式推導,這有助于他們更快地理解和掌握關鍵概念。
(3) 打下數據處理堅實基礎。R語言的數據結構和數據操作是基礎,讓學生通過實踐操作熟悉數據的讀寫和處理,為后續統計分析打下堅實基礎。
(4) 促進統計思維的培養。通過R語言編程實現統計分析,有助于學生更深入地理解統計學原理和方法。編寫代碼可以使學生直觀地看到統計分析的每一步過程,從而加深對統計概念的理解。
(5) 實踐統計方法選擇和編寫程序。通過編寫程序,學生可以學習如何根據實際需求選擇和應用醫學統計方法,提升問題解決能力。
(6) 增強數據可視化能力。R語言提供了豐富的數據可視化工具,通過學習,學生能夠有效地展示數據,使他們直觀地理解和解釋統計結果,并幫助制作高質量的統計圖表。在醫學研究中,清晰、準確的數據展示對于研究結果的傳達至關重要。
(7) 實踐驅動學習和提高興趣。通過將理論與實踐相結合,學生能夠將理論知識轉化為實際技能,從而加深對統計學的理解。R語言的易用性和交互性有助于激發學生的學習興趣。
(8) 獲取開源社區支持。R語言擁有龐大的開源社區,這意味著學生可以方便地獲取各種學習資源、教程和幫助。社區中不斷更新的包和工具保證了R 語言的持續發展和適應性。
6 結束語
綜上所述,將R語言引入醫學統計學教學,不僅能夠提升學生的醫學大數據分析能力,還能培養他們的編程技能、統計思維和數據可視化能力。這有助于他們在解決實際問題中理解和掌握統計學,從而彌補基礎理論薄弱問題,對于他們的學術研究和職業發展都具有重要意義。
【通聯編輯:唐一東】
基金項目:昆明醫科大學2023 年教育教學研究基金項目(J132101026)