《R程序设计语言》课程教学大纲 一、课程基本信息(黑体/小四) 课程代码:16012603 课程名称:R程序设计语言 英文名称:R Program Language 课程类别:专业课 课程模块:专业基础课 课程性质:必修 学时:24学时 学分:3学分 适用专业:统计学,应用统计 先修课程:C程序设计、Matlab 二、课程简介 通过对本课程的学习,加强学生对于R软件的了解与认识,增强对于先前 基础课,诸如《概率论与数理统计》、《非参数估计》等的理解与认识。强化学 生对于计算机程序语言的理解,增强学生的自主编程能力,使其具备,发现问题, 设计方案,解决问题的实际能力。针对目前现实中的大数据问题,能够有自己的 思想去处理,解决。同时本课程结合实践上机课程,为进一步的巩固课堂的所学 的实际内容奠定基础。此外,加强学生对于代码的理解,提升对于代码的设计理 念,在程序的优化等方面进一步提高。 三、课程性质与教学目的(黑体/小四) R作为一种统计分析软件,是集统计分析与图形显示于一体的。它可以运行 于UNIX,Windows和Macintosh的操作系统上,而且嵌入了一个非常方便实用的 帮助系统,相比于其他统计分析软件,R还有以下特点:1R是自由软件:2.R 是一种可编程的语言;3.所有R的函数和数据集是保存在程序包里面的:4.R 具有很强的互动性。课程内容主要分成六个部分组成:1,R语言入门相关介绍: 2,R语言变量类型介绍:3,R语言数据输入与输出:4,R语言数据转换;5, R语言简单程序设计;6,R语言可视化
《R 程序设计语言》课程教学大纲 一、课程基本信息(黑体/小四) 课程代码:16012603 课程名称:R 程序设计语言 英文名称: R Program Language 课程类别:专业课 课程模块:专业基础课 课程性质:必修 学 时:24 学时 学 分:3 学分 适用专业:统计学,应用统计 先修课程:C 程序设计、Matlab 二、课程简介 通过对本课程的学习,加强学生对于 R 软件的了解与认识,增强对于先前 基础课,诸如《概率论与数理统计》、《非参数估计》等的理解与认识。强化学 生对于计算机程序语言的理解,增强学生的自主编程能力,使其具备,发现问题, 设计方案,解决问题的实际能力。针对目前现实中的大数据问题,能够有自己的 思想去处理,解决。同时本课程结合实践上机课程,为进一步的巩固课堂的所学 的实际内容奠定基础。此外,加强学生对于代码的理解,提升对于代码的设计理 念,在程序的优化等方面进一步提高。 三、课程性质与教学目的(黑体/小四) R 作为一种统计分析软件,是集统计分析与图形显示于一体的。它可以运行 于 UNIX,Windows 和 Macintosh 的操作系统上,而且嵌入了一个非常方便实用的 帮助系统,相比于其他统计分析软件,R 还有以下特点:1.R 是自由软件;2.R 是一种可编程的语言;3. 所有 R 的函数和数据集是保存在程序包里面的;4.R 具有很强的互动性。课程内容主要分成六个部分组成:1,R 语言入门相关介绍; 2,R 语言变量类型介绍;3,R 语言数据输入与输出;4,R 语言数据转换;5, R 语言简单程序设计;6,R 语言可视化
旨在提高学生的程序设计能力以及处理复杂数据方面的能力。此外,对于提 升学生在学习知识方面的严谨性,逻辑性方面也有重要提高! 第一章:R软件入门及其介绍 (1)目的与要求 1,学会R软件的安装 2.掌握Rstudio与R之间的关系 3,熟悉简单的R语言程序流程 (2)教学内容 l,展示R与Rstudio的下载安装以及R程序包的加装 2,展示在安装过程中可能出现的问题,提醒同学们注意事项 3,对于简单的函数流程进行基本的展示 (3)思考与实践 针对已经学习过C语言的同学,简单说明R与C之间的区别与联系,介绍 R语言存在的优势,布置作业,安排同学们课下熟悉下载安装流程。如果遇到问 题,大家在微信群或者腾讯课堂上交流讨论。 (4)教学手段与方法 采用投影与现场实操相结合,引导大家认识新的数值计算软件。同时展示简 单的程序示例。在此期间,收集同学们可能存在的问题,然后逐一解决,并引导 大家,在代码写作过程中要格式规范,同时保持严谨的思维。面对困难以及错误 要勇于挑战。 第二章:R语言变量类型介绍 (1)目的与要求 相比于大学一年级的C语言,在R语言中增加了不少变量类型。大致有8 种类型的变量。本节课主要的目的是介绍同学们认识不同类型的变量,以及对应 的使用方式:要求是:同学们掌握这八中变量,熟悉每种变量的应用范围,使用 限制,在以后的代码写作过程中,可以游刃有余的应用。 (2)教学内容 介绍8中典型的R语言变量类型:数值型,向量,矩阵,数组,数据框 链表,时间序列数据,因子变量。介绍各种变量之间的转化方式以及对应的转化 关系
旨在提高学生的程序设计能力以及处理复杂数据方面的能力。此外,对于提 升学生在学习知识方面的严谨性,逻辑性方面也有重要提高! 第一章:R 软件入门及其介绍 (1)目的与要求 1,学会 R 软件的安装 2.掌握 Rstudio 与 R 之间的关系 3,熟悉简单的 R 语言程序流程 (2) 教学内容 1,展示 R 与 Rstudio 的下载安装以及 R 程序包的加装 2,展示在安装过程中可能出现的问题,提醒同学们注意事项 3,对于简单的函数流程进行基本的展示 (3) 思考与实践 针对已经学习过 C 语言的同学,简单说明 R 与 C 之间的区别与联系,介绍 R 语言存在的优势,布置作业,安排同学们课下熟悉下载安装流程。如果遇到问 题,大家在微信群或者腾讯课堂上交流讨论。 (4)教学手段与方法 采用投影与现场实操相结合,引导大家认识新的数值计算软件。同时展示简 单的程序示例。在此期间,收集同学们可能存在的问题,然后逐一解决,并引导 大家,在代码写作过程中要格式规范,同时保持严谨的思维。面对困难以及错误 要勇于挑战。 第二章:R 语言变量类型介绍 (1)目的与要求 相比于大学一年级的 C 语言,在 R 语言中增加了不少变量类型。大致有 8 种类型的变量。本节课主要的目的是介绍同学们认识不同类型的变量,以及对应 的使用方式;要求是:同学们掌握这八中变量,熟悉每种变量的应用范围,使用 限制,在以后的代码写作过程中,可以游刃有余的应用。 (2)教学内容 介绍 8 中典型的 R 语言变量类型:数值型,向量,矩阵,数组,数据框, 链表,时间序列数据,因子变量。介绍各种变量之间的转化方式以及对应的转化 关系
(3)思考与实践 引导同学们在代码写作过程中,比较R语言中的变量与C语言中的相似性 与不同点。布置相应的作业,简单的代码流程,先试用C语言实现,再使用R 语言实现。让同学们掌握不同点,加深记忆与印象! (4)教学手段与方法 采用投影与现场实操相结合,引导大家认识新的数值计算软件。同时结合C 语言,布置相关的任务,完成简单的代码写作流程。在此期间,收集同学们可能 存在的问题,然后逐一解决,并引导大家,在代码写作过程中要格式规范,同时 保持严谨的思维。面对困难以及错误要勇于挑战。 第三章:R语言数据的输入与输出 (1)目的与要求 目的:让学生掌握R语言在执行数据输入输入方面的技巧,以及运算完毕 之后,如何保存数据: 要求:能够具备数据的抓取与读入能力,同时学会数据按照要求的格式输出 与保存: (2)教学内容 1,对于规范化的数据如何读入: 2,对于非格式化的数据输入: 3,网络数据抓取 4,不同类型的数据如何转化,保存 (3)思考与实践 比较不同软件之间对于数据输入与输出的差别,同时在网络数据抓取的过程 中需要注意什么问题?比如,网页源代码的分析,对应的Xpath的学习,都需要 针对化的训练。 实践环节:要求学生掌握Excl,word,TXT文本数据的读入方式,此外重 点学习如何处理网络数据。对于网络源代码的学习需要加深,加强 (4)教学手段与方法 采用投影与现场实操相结合,引导大家认识新的数值计算软件R。同时结合 C语言,布置相关的任务,完成简单的代码写作流程。在此期间,收集同学们可
(3)思考与实践 引导同学们在代码写作过程中,比较 R 语言中的变量与 C 语言中的相似性 与不同点。布置相应的作业,简单的代码流程,先试用 C 语言实现,再使用 R 语言实现。让同学们掌握不同点,加深记忆与印象! (4)教学手段与方法 采用投影与现场实操相结合,引导大家认识新的数值计算软件。同时结合 C 语言,布置相关的任务,完成简单的代码写作流程。在此期间,收集同学们可能 存在的问题,然后逐一解决,并引导大家,在代码写作过程中要格式规范,同时 保持严谨的思维。面对困难以及错误要勇于挑战。 第三章:R 语言数据的输入与输出 (1)目的与要求 目的:让学生掌握 R 语言在执行数据输入输入方面的技巧,以及运算完毕 之后,如何保存数据; 要求:能够具备数据的抓取与读入能力,同时学会数据按照要求的格式输出 与保存; (2) 教学内容 1,对于规范化的数据如何读入; 2,对于非格式化的数据输入; 3,网络数据抓取 4,不同类型的数据如何转化,保存 (3) 思考与实践 比较不同软件之间对于数据输入与输出的差别,同时在网络数据抓取的过程 中需要注意什么问题?比如,网页源代码的分析,对应的 Xpath 的学习,都需要 针对化的训练。 实践环节:要求学生掌握 Excel,word,TXT 文本数据的读入方式,此外重 点学习如何处理网络数据。对于网络源代码的学习需要加深,加强 (4)教学手段与方法 采用投影与现场实操相结合,引导大家认识新的数值计算软件 R。同时结合 C 语言,布置相关的任务,完成简单的代码写作流程。在此期间,收集同学们可
能存在的问题,然后逐一解决,并引导大家,在代码写作过程中要格式规范,同 时保持严谨的思维。面对困难以及错误要勇于挑战。在这部分中,基本打算融入 思政元素为,让同学们抓取网页上的十九大报告,然后进行分词,考察出现频率 最高的额词汇,同时分析,民生关注的热点问题。 第四章:R语言数据的转换与处理 (1)目的与要求 教学目的:针对第二章学习的8大变量类型,这里着重介绍八种不同类型变 量之间的转换关系以及对应的变化手段。重点学习在字符串变量中对应的正则表 达式的处理方式。 教学要求:要求学生能够灵活应用不同的转换方式对数据进行重新构造与编 码,同学结合己经掌握的知识加上符号表达式的正则表达式,对字符串变量的拆 分合并做重要分析与介绍。 (2)教学内容 本章节分以下几个方面:1,数据重新编码:2,数据类型的转化:3,字符 串数据的合并与拆分;4,正则表达式: (3)思考与实践 本节课的重要内容是对于网络数据抓取之后进行重要信息的提取与转化。重 点在于巧妙地使用正则表达式,对字符串数据进行有效的提取。在此部分主要注 重分析网络舆情方面的应用。 具体实践如下:针对新浪微博以及重要报刊的电子版,进行相关的板块区分 与调查,抓取相应的内容之后,首先采用分词工具对已有的数据进行区分,这里 可以适当区分中英文,标点符号等。 (4)教学手段与方法 采用投影与现场实操、演示相结合,引导同学们认识R语言中不同类型变 量之间的转化关系。同时结合C语言,布置相关的任务,完成简单的代码写作 流程。在此期间,收集同学们可能存在的问题,然后逐一解决,并引导大家,在 代码写作过程中要格式规范,同时保持严谨的思维。面对困难以及错误要勇于挑 战。在这部分中,基本打算融入思政元素为,让同学们抓取新浪微博中的十九大 报告,然后进行分词,考察出现频率最高的额词汇,同时分析,民生关注的热点
能存在的问题,然后逐一解决,并引导大家,在代码写作过程中要格式规范,同 时保持严谨的思维。面对困难以及错误要勇于挑战。在这部分中,基本打算融入 思政元素为,让同学们抓取网页上的十九大报告,然后进行分词,考察出现频率 最高的额词汇,同时分析,民生关注的热点问题。 第四章:R 语言数据的转换与处理 (1)目的与要求 教学目的:针对第二章学习的 8 大变量类型,这里着重介绍八种不同类型变 量之间的转换关系以及对应的变化手段。重点学习在字符串变量中对应的正则表 达式的处理方式。 教学要求:要求学生能够灵活应用不同的转换方式对数据进行重新构造与编 码,同学结合已经掌握的知识加上符号表达式的正则表达式,对字符串变量的拆 分合并做重要分析与介绍。 (2) 教学内容 本章节分以下几个方面:1,数据重新编码;2,数据类型的转化;3,字符 串数据的合并与拆分;4,正则表达式; (3) 思考与实践 本节课的重要内容是对于网络数据抓取之后进行重要信息的提取与转化。重 点在于巧妙地使用正则表达式,对字符串数据进行有效的提取。在此部分主要注 重分析网络舆情方面的应用。 具体实践如下:针对新浪微博以及重要报刊的电子版,进行相关的板块区分 与调查,抓取相应的内容之后,首先采用分词工具对已有的数据进行区分,这里 可以适当区分中英文,标点符号等。 (4)教学手段与方法 采用投影与现场实操、演示相结合,引导同学们认识 R 语言中不同类型变 量之间的转化关系。同时结合 C 语言,布置相关的任务,完成简单的代码写作 流程。在此期间,收集同学们可能存在的问题,然后逐一解决,并引导大家,在 代码写作过程中要格式规范,同时保持严谨的思维。面对困难以及错误要勇于挑 战。在这部分中,基本打算融入思政元素为,让同学们抓取新浪微博中的十九大 报告,然后进行分词,考察出现频率最高的额词汇,同时分析,民生关注的热点
问题。查看网络舆情的导向问题,并进行简单的分析。争取做到,实时动态的奥 情播报,尽可能提供相关的预警机制。 第五章:R语言简单程序设计 (1)目的与要求 目的:在前四章的基础上,重点介绍R软件如何实现数值分析与相关算法 的具体实现问题。重点讲解代码流程写作的规范形式,以及在给定要求下,能够 独立完成相关的代码写作: 要求:熟悉R语言中程序设计的基本原则,如何规范的定义函数类型以及 调用函数,针对题目以及相关的指定要求,能够简单便捷的完成代码撰写。此外, 对于可能出现的错误,学会独立的调整代码,及时修正错误。 (2)教学内容 本章节重点学习内容如下:1,判断语句的撰写:2,三种典型的循环语句的 撰写以及对应的终止条件如何安排;3,如何定义函数,定义变量类型:4,根据 自己撰写的函数,学会如何调用: (3)思考与实践 由于大多数的同学基础可能只有C语言,导致一部分同学思维模式周定, 在代码的撰写方面持续使用C语言的方法,会使得代码臃肿,不能很好的调动R 软件存在的优势。所以应当积极的转换同学们的思维,提高在实际操作中的转换 能力。 实践环节,重点培养同学们独立设计代码的能力,针对既定的问题,比较同 学们相互之间代码的运行时间的差异以及代码写作的简洁程度。对于较好的思细 方式,邀请同学们主动发言,相互展示比较! (4)教学手段与方法 采用投影与现场实操、演示相结合,引导同学们认识R语言中函数代码的 特有流程。同时结合C语言,布置相关的任务,完成简单的代码写作流程。在 此期间,收集同学们可能存在的问题,然后逐一解决,并引导大家,在代码写作 过程中要格式规范,同时保持严谨的思维。面对困难以及错误要勇于挑战。在这 部分中,基本打算融入思政元素为:让同学们在面对同样一个问题的时候,可以
问题。查看网络舆情的导向问题,并进行简单的分析。争取做到,实时动态的舆 情播报,尽可能提供相关的预警机制。 第五章:R 语言简单程序设计 (1)目的与要求 目的:在前四章的基础上,重点介绍 R 软件如何实现数值分析与相关算法 的具体实现问题。重点讲解代码流程写作的规范形式,以及在给定要求下,能够 独立完成相关的代码写作; 要求:熟悉 R 语言中程序设计的基本原则,如何规范的定义函数类型以及 调用函数,针对题目以及相关的指定要求,能够简单便捷的完成代码撰写。此外, 对于可能出现的错误,学会独立的调整代码,及时修正错误。 (2) 教学内容 本章节重点学习内容如下:1,判断语句的撰写;2,三种典型的循环语句的 撰写以及对应的终止条件如何安排;3,如何定义函数,定义变量类型;4,根据 自己撰写的函数,学会如何调用; (3) 思考与实践 由于大多数的同学基础可能只有 C 语言,导致一部分同学思维模式固定, 在代码的撰写方面持续使用 C 语言的方法,会使得代码臃肿,不能很好的调动 R 软件存在的优势。所以应当积极的转换同学们的思维,提高在实际操作中的转换 能力。 实践环节,重点培养同学们独立设计代码的能力,针对既定的问题,比较同 学们相互之间代码的运行时间的差异以及代码写作的简洁程度。对于较好的思维 方式,邀请同学们主动发言,相互展示比较! (4)教学手段与方法 采用投影与现场实操、演示相结合,引导同学们认识 R 语言中函数代码的 特有流程。同时结合 C 语言,布置相关的任务,完成简单的代码写作流程。在 此期间,收集同学们可能存在的问题,然后逐一解决,并引导大家,在代码写作 过程中要格式规范,同时保持严谨的思维。面对困难以及错误要勇于挑战。在这 部分中,基本打算融入思政元素为:让同学们在面对同样一个问题的时候,可以
发挥主观能动性,引导同学们相互之间通过比赛的形式进行相关的演练,最终达 到以赛促进,相互提高! 第六章:R语言可视化 ()目的与要求 目的:让同学们能够对计算出来的数值结果以图像的形式进行展示。同时对 于每个图像,在底板颜色,线条的类型,图例的安排,坐标轴的规划等等方面具 备较好的处理水平。 要求:本章节要求:1,同学们能够学会各种画图的函数,以及对应的区别: 2,图像内部的各种参数的调用以及使用的注意事项熟练掌握:3,对于一个图像 中出现的多个子图如何巧妙地安排:4,R语言中画图的画布学会调整与设置。 (2)教学内容 I,掌握常用的6中画图函数:plot,barplot,.boxplot,hist,violinplot,.cor 2,展示各种画图函数中,不同类型的参数使用规则以及对应的意义: 3,学会特殊的画图函数,实现不同的画图指令,提高作图质量,重点介绍 R语言中的画图函数:ggplot2 4,对于特殊参数的使用,进行展示与介绍 (3)思考与实践 由于在C语言的学习过程中,大部分的同学的学习重心放在数值计算,对 于结果的展示过于单一,接触到R语言之后,会使得同学们的在数值结果展示, 以及数学模型带入计算之后,结果的差异性明显。 为进一步提升同学们的动手实操能力以及作图能力,设计具体的问题,给定 要求,针对性的展示相关的计算结果。比较不用方式之间的差异性,同时推荐最 优的画图结果! (4)教学手段与方法 采用投影与现场实操、演示相结合,引导同学们认识R语言中强大的绘图 功能。同时结合C语言,布置相关的任务,完成简单的代码写作流程。在此期 间,收集同学们可能存在的问题,然后逐一解决,并引导大家,在代码写作过程 中要格式规范,同时保持严谨的思维。面对困难以及错误要勇于挑战。在这部分 中,基本打算融入思政元素为:以同学们撰写的“两学一做”思想论文为数据模
发挥主观能动性,引导同学们相互之间通过比赛的形式进行相关的演练,最终达 到以赛促进,相互提高! 第六章:R 语言可视化 (1)目的与要求 目的:让同学们能够对计算出来的数值结果以图像的形式进行展示。同时对 于每个图像,在底板颜色,线条的类型,图例的安排,坐标轴的规划等等方面具 备较好的处理水平。 要求:本章节要求:1,同学们能够学会各种画图的函数,以及对应的区别; 2,图像内部的各种参数的调用以及使用的注意事项熟练掌握;3,对于一个图像 中出现的多个子图如何巧妙地安排;4,R 语言中画图的画布学会调整与设置。 (2) 教学内容 1,掌握常用的 6 中画图函数:plot,barplot,boxplot,hist,violinplot,cor; 2,展示各种画图函数中,不同类型的参数使用规则以及对应的意义; 3,学会特殊的画图函数,实现不同的画图指令,提高作图质量,重点介绍 R 语言中的画图函数:ggplot2 4,对于特殊参数的使用,进行展示与介绍 (3) 思考与实践 由于在 C 语言的学习过程中,大部分的同学的学习重心放在数值计算,对 于结果的展示过于单一,接触到 R 语言之后,会使得同学们的在数值结果展示, 以及数学模型带入计算之后,结果的差异性明显。 为进一步提升同学们的动手实操能力以及作图能力,设计具体的问题,给定 要求,针对性的展示相关的计算结果。比较不用方式之间的差异性,同时推荐最 优的画图结果! (4)教学手段与方法 采用投影与现场实操、演示相结合,引导同学们认识 R 语言中强大的绘图 功能。同时结合 C 语言,布置相关的任务,完成简单的代码写作流程。在此期 间,收集同学们可能存在的问题,然后逐一解决,并引导大家,在代码写作过程 中要格式规范,同时保持严谨的思维。面对困难以及错误要勇于挑战。在这部分 中,基本打算融入思政元素为:以同学们撰写的“两学一做”思想论文为数据模
型,读入之后,通过jiba分词工具,以及词云相结合的方式,展示同学们论文 的主旨,再跟各个同学进行比较,区分不同学生之间存在的差异性。 四、课程设计基本要求(黑体/小四) 通过对本课程的学习,要求学生掌握R软件的下载,安装,R程序包的选择 与加载,同时强化学生在理论课学习的同时安排对应的动手实践课程,加深对于 R软件的理解。此外,对于课程学习完毕之后,要求学生具备独立的编程能力 以及相应的处理数据,挖掘数据本质问题的能力。 五、课程设计进度安排(黑体/小四) 第一章:R语言入门相关介绍 4学时 第二章:R语言数据变量类型 6学时 第三章:R语言数据输入与输出 8学时 第四章:R语言数据类型的转换 4学时 第五章:R语言程序流程设计 4学时 第六章:R语言可视化 6学时 六、考核方式与标准(黑体/小四) 闭卷考试70%+平时作业以及考勤30% 七、推荐教材和教学参考书(黑体/小四) 实验教材: l,《R语言统计入门》,Peter,Dalgaard编著,人民邮电出版社(2014年) 参考书: 1,《R软件应用统计方法》,陈景样编著,东北财经大学出版社,(2014 年) 2,《复杂数据统计方法基于R的应用》,吴喜之,中国人名大学出版社, (2015年) 八、其他需说明的(黑体/小四)
型,读入之后,通过 jieba 分词工具,以及词云相结合的方式,展示同学们论文 的主旨,再跟各个同学进行比较,区分不同学生之间存在的差异性。 四、课程设计基本要求(黑体/小四) 通过对本课程的学习,要求学生掌握 R 软件的下载,安装,R 程序包的选择 与加载,同时强化学生在理论课学习的同时安排对应的动手实践课程,加深对于 R 软件的理解。此外,对于课程学习完毕之后,要求学生具备独立的编程能力, 以及相应的处理数据,挖掘数据本质问题的能力。 五、课程设计进度安排(黑体/小四) 第一章:R 语言入门相关介绍 4 学时 第二章:R 语言数据变量类型 6 学时 第三章:R 语言数据输入与输出 8 学时 第四章:R 语言数据类型的转换 4 学时 第五章:R 语言程序流程设计 4 学时 第六章:R 语言可视化 6 学时 六、考核方式与标准(黑体/小四) 闭卷考试 70% + 平时作业以及考勤 30% 七、推荐教材和教学参考书(黑体/小四) 实验教材: 1,《R 语言统计入门》,Peter,Dalgaard 编著,人民邮电出版社(2014 年) 参考书: 1,《R 软件应用统计方法》,陈景祥编著,东北财经大学出版社,(2014 年) 2,《复杂数据统计方法-基于 R 的应用》,吴喜之,中国人名大学出版社, (2015 年) 八、其他需说明的(黑体/小四)
大纲修订人:刘培江 修订日期2020-12 大纲审定者:陈建超 审定日期2020-12
大纲修订人:刘培江 修订日期 :2020 - 1 2 大纲审定者:陈建超 审定日期:2020 -12