APP下载

基于R语言的统计分析在医学类专业的教学实践与探索

2024-11-25陈玉云欧阳东王耀民熊刚强

科技资讯 2024年20期

摘要:随着大数据的迅速发展,医学类专业的学科建设迫切需要培养学生对医学领域涉及的大数据进行收集、分析和处理的能力。在这一背景下,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语言的特点及教学内容
    • 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.