基于R语言的课程教学效果可视化分析
作者: 吴立知
摘要:随着大数据和云时代的到来,数据分析技术作为一门前沿技术,广泛应用于各大领域,“数据分析”作为大数据时代的核心技术,其商业价值正在逐步展现。文章将使用最前沿的R语言,借助数据可视化平台RStudio,对本校计算机网络技术专业的专业基础课程计算机网络基础的教学效果进行可视化分析,从而为教学质量改革提出有效建议。
关键词:数据分析;R语言;可视化;汇总分析
中图分类号:G424 文献标识码:A
文章编号:1009-3044(2022)31-0053-03
1 引言
R语言是一种面向对象的编程语言,是为统计计算和图形显示而设计的语言环境,也是一套开源的数据分析解决方案。R语言最大的优势在于其软件包生态系统的开放性,即免费开源,并且可以在不同的平台上运行。R语言作为完全免费的统计分析软件,可以轻松地从各种类型的数据源读写数据,几乎所有类型的数据都可以用R语言进行统计分析。另外,R语言具有顶尖水准的制图功能,能够直观地提升用户对数据的理解,并帮助用户做出正确的判断和改进[1]。
R语言的原始编译窗口较为简单,提供的编译环境不太友好,为了提高代码的编写效率,本文选择使用RStudio 作为代码编译环境。RStudio作为R语言的免费的图形界面编辑器,其实质性的编程语言与R 语言无异,但是比R语言原有的编译窗口拥有更友好的界面环境和更强大的操作性能[1]。
本文将使用最前沿的R语言,借助数据可视化平台RStudio,对计算机网络技术专业的专业基础课程计算机网络基础的教学效果进行可视化分析。通过统计分析和可视化图形展示,为计算机网络基础课程的教学改革提供有力的数据支撑,从而进一步提升计算机网络技术专业的教师教学水平。
2 将数据导入到RStudio
本文将针对计算机网络技术专业的专业基础课程计算机网络基础的学生成绩进行分析,因此首先需完成数据的导入。基于教务系统的数据管理流程,学生的成绩均是存放在学校教务系统的数据库中的,因此,在数据分析前,需先将学生成绩数据导入RStudio中。
本文将模拟从MySQL数据库将数据导入RStudio的过程。
2.1 数据准备工作
首先在MySQL中创建数据库stuanalysis,本文要用到的计算机网络基础课程的学生成绩表存在于数据库stuanalysis的表格中,将数据表命名为stuscore,通过查看表格内容,可以确定该专业年级215名学生的成绩信息已存在于数据表stuscore中(图1) 。
通过查询,可以看到,计算机网络基础课程的成绩由课堂活动、作业和考试三部分组成,三个部分均以百分制来计分,在总成绩中所占比例分别为课堂活动(30%) 、作业(30%) 、考试(40%) ;总成绩由以上三部分的成绩按比例计算而来,同样采用百分制计分。
2.2 R环境准备
在用R进行数据分析前,先要完成R和MySQL数据库的连接,方便人们直接对数据进行处理。具体步骤如下:
1) R下载RODBC包,加载RODBC包;
2) 下载并安装mySQL ODBC;
3) 控制面板→管理工具→数据源(ODBC) →点击添加→选中MySQL ODBC driver选项;
4) 打开RStudio的界面调用数据库;
5) 至此,R已经成功与MySQL数据库连接,并且获取了MySQL库中stuanalysis数据库里stuscore表中的数据,存放在数据框StuAnalysis中。
3 数据清洗与汇总分析
R语言中的数据清洗的目的在于删除重复、有缺失值的信息,对数据进行重新审查和消炎,纠正存在的错误;而R语言中提供的多种数值计算和统计分析的函数,则可以帮助人们快速地对数据进行汇总统计分析[2]。
3.1 缺失数据处理
在数据分析的过程中,数据对象的不完整性会对后期的数据可视化分析造成影响,比如,因在学生成绩表中会存在某些学生按时参加课堂活动,完成教学安排,但是因个人原因无法参加期末考试的情况。因此在进行数据分析前,先要进行数据的缺失值处理。
1) 检测StuAnalysis中是否存在缺失值。代码如下:
> anyNA(StuAnalysis)
[1] TRUE
经检测,StuAnalysis确实存在缺失值;
2) 删除StuAnalysis中存在缺失值的行,并将删除缺失值后的数据赋值给新的变量score.data。代码如下:
score.data<- na.omit(StuAnalysis)
3.2 数据汇总统计分析
对于学生成绩数据的统计分析,首先可以使用R语言中的数值计算和统计分析函数,对学生成绩进行初步统计分析。
在传统的成绩分析中,往往会以最大值、最小值、均值等指标作为初步的统计量,在 R 语言中,也要通过指标来表现数据样本的集中趋势、离散程度和数据分布形状[3]。
通过 R 语言的数值计算和统计分析函数来实现对学生学习成绩的初步分析,分别得出课堂活动、作业、考试和总成绩的各项统计值,得出结果如表1所示。
表1 学生成绩统计表
[统计分量 均 值 中位数 标准差 方 差 变异系数 课堂活动 91.34995 93.33 11.0805 122.7774 12.12972 作 业 81.85977 88.105 17.58625 309.2761 21.48338 考 试 64.93458 66 16.79664 282.1272 25.86702 总成绩 77.93734 80.595 11.54148 133.2057 14.80866 ]
通过上表可得知:变异强度最低的是课堂活动,其次是总成绩;在数据统计分析中,如果变异系数值超过15,则认为数据存在疑问。因此,本科目的作业成绩和期末考试成绩可能因为某些客观原因而导致数据变异强度过大;但是基于总成绩的变异系数在规定范围内,可见本课程的教学效果相对良好。
4 数据可视化分析
R 语言的强大不仅体现在便捷的数据统计计算,还体现在可生成各种可视化的图形,从而更加直观地向决策者提供数据依据[4]。本文将使用R语言中的散点矩阵图和箱线图来反映学生成绩分布情况。
4.1 绘制成绩散点矩阵图
根据导入的课堂活动、作业、考试和总成绩数据,利用R语言的pairs() 函数,绘制成绩散点矩阵图(图2) 。代码和运行结果如下:
> pairs(score.data[,3:6])
通过散点矩阵图,可以直观地发现,课堂活动、作业和考试分数与总成绩之间基本上可以满足线性规律,其中考试分数与总成绩之间的线性相关性最高,说明试卷的难易程度符合课程考核要求。另外,通过观察发现,课堂活动、作业和考试分数三者之间的相关性不高,尤其是课堂活动与考试之间,难以发现线性相关,说明某些课堂活动参与度高的同学反而在考试中成绩表现并不好,这是需要任课教师在今后的教学活动中进一步做出调整和改进。
4.2 绘制成绩箱线图
为了对学生专业课成绩的差异性及产生原因进行分析,本文将利用R语言的boxplot() 函数绘制课堂活动、作业、考试和总成绩数据的箱线图(图3) 。代码和运行结果如下:
> boxplot(score.data[3:6])
通过箱线图,可以直观地发现,课堂活动、作业和考试分数与总成绩之间存在一定的差异性,主要体现以下四点:
1) 在学生的课堂活动成绩相较于其他三项较高,而且相对集中,数据离散值较少;
2) 作业的箱线图相较于其他三项离散值最多,说明学生在作业完成情况上差异项较大;
3) 学生的考试成绩虽均值较低,但数据的分布情况最好,可以满足成绩的正态分布规律;
4) 从总成绩的分布来看,该科目的教学效果较良好,基本满足教学要求。
5 总结
本文借助数据可视化平台RStudio,对本校计算机网络技术专业的专业基础课程计算机网络基础的课程成绩进行了全面细致的分析,使用R语言实现了对数据的初步统计分析,并通过散点矩阵图和箱线图对教学效果进行可视化分析,从而为教学质量改革提出有效建议。
近年来,随着大数据时代的到来,基于R语言的数据挖掘技术得到了快速发展和应用的良机[5]。同时也为高校教师提供了便利,促使我们将其使用在学生成绩分析中,通过数据统计和可视化图形来发现教学中的问题,从而进一步优化教学过程,提升专业核心竞争力。
参考文献:
[1] Kabacoff R I.R语言实战[M].高涛,肖楠,陈钢,译.北京:人民邮电出版社,2013.
[2] 林智章,张良均.R语言编程基础[M].北京:人民邮电出版社,2019.
[3] 洪明意,龙海侠,王觅,等.R语言在学习成绩应用中的探究[J].福建电脑,2018,34(4):3-5.
[4] 杨超.基于R语言的学生成绩分析[J].辽宁师专学报(自然科学版),2020,22(4):95-99.
[5] 岳强,胡中玉,文瑾,等.基于R语言的数据挖掘课程实验设计[J].微型电脑应用,2016,32(5):31-34,37.
【通联编辑:闻翔军】
收稿日期:2022-03-16
基金项目:教育部高校学生司关于供需对接就业育人项目(人力资源提升项目)(项目编号:20220101016)
作者简介:吴立知(1985—) ,女,贵州贵阳人,副教授,硕士,研究方向为网络技术、数据挖掘。