r语言课程设计
《R语言数据分析》课程教案—01R语言数据分析概述

《R语言数据分析》课程教案—01R语言数据分析概述《R语言数据分析》课程教案第1章R语言数据分析概述一、材料清单(1)《R语言商务数据分析实战》教材。
(2)配套PPT。
(3)引导性提问。
(4)探究性问题。
(5)拓展性问题。
二、教学目标与基本要求1.教学目标根据目前数据分析发展状况,将数据分析具象化。
而后介绍数据分析的概念,流程,目的以及应用场景。
阐述使用R语言进行数据分析的优势。
列举说明R语言数据分析重要Packages的功能。
2.基本要求(1)了解数据分析的概念。
(2)了解数据分析的流程。
(3)了解数据分析在实际中的应用。
(4)了解R语言数据分析中常用的Packages。
三、问题1.引导性提问引导性提问需要教师根据教材内容和学生实际水平,提出问题,启发引导学生去解决问题,提问,从而达到理解、掌握知识,发展各种能力和提高思想觉悟的目的。
(1)数据分析能够做什么?(2)现实生活中存在哪些数据分析技术?(3)该如何进行数据分析?(4)R语言有哪些优势?2.探究性问题探究性问题需要教师深入钻研教材的基础上精心设计,提问的角度或者在引导性提问的基础上,从重点、难点问题切入,进行插入式提问。
或者是对引导式提问中尚未涉及但在课文中又是重要的问题加以设问。
(1)数据分析的完整流程是怎样的?(2)数据分析的能够应用在那些场景?(3)R语言常用的Packages有哪些?3.拓展性问题拓展性问题需要教师深刻理解教材的意义,学生的学习动态后,根据学生学习层次,提出切实可行的关乎实际的可操作问题。
亦可以提供拓展资料供学生研习探讨,完成拓展性问题。
(1)数据分析是不是万能的?(2)分析本班人员的基本信息可以从哪些角度入手?四、主要知识点、重点与难点1.主要知识点(1)数据分析的概念、流程与应用场景。
(2)R语言在数据分析中的优势。
(3)R语言常用的Packages。
2.重点(1)数据分析的概念、流程与应用场景。
(2)R语言常用的Packages。
r语言课程设计题目

r语言课程设计题目一、教学目标本课程旨在让学生掌握R语言的基础知识,包括数据类型、变量、函数、循环和条件语句等。
通过本课程的学习,学生将能够使用R语言进行数据分析和可视化,解决实际问题。
1.了解R语言的发展历程和基本语法。
2.掌握R语言的数据类型和变量。
3.学会使用R语言进行数据导入和导出。
4.掌握R语言的函数、循环和条件语句。
5.了解R语言的数据可视化方法。
6.能够使用R语言进行基本的数据操作和分析。
7.能够使用R语言绘制统计图表和数据可视化。
8.能够运用R语言解决实际问题,如数据挖掘、统计分析等。
情感态度价值观目标:1.培养学生对编程语言的兴趣和好奇心。
2.培养学生团队合作和自主学习的能力。
3.培养学生运用数据分析解决实际问题的意识。
二、教学内容本课程的教学内容主要包括R语言的基本语法、数据类型、变量、函数、循环和条件语句以及数据可视化。
具体安排如下:1.引言:介绍R语言的发展历程和基本语法。
2.数据类型和变量:学习R语言的数据类型和变量,包括数值型、字符型、逻辑型等。
3.函数:学习R语言的常用函数,如数学函数、统计函数、逻辑函数等。
4.循环和条件语句:学习R语言的循环和条件语句,如for循环、while循环、if条件语句等。
5.数据导入和导出:学习如何将数据从不同的格式导入R语言,如CSV、Excel等,以及如何将数据导出为不同的格式。
6.数据可视化:学习如何使用R语言进行数据可视化,包括绘制柱状图、折线图、散点图等。
三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。
在教学过程中,教师将讲解R语言的基本语法和概念,通过案例分析让学生动手实践,实验环节则让学生亲自动手操作,巩固所学知识。
1.讲授法:教师讲解R语言的基本语法和概念,引导学生理解和掌握。
2.案例分析法:教师提供实际案例,让学生运用R语言进行数据分析和可视化,培养学生的实际操作能力。
3.实验法:学生在实验室进行实验,动手操作R语言进行数据分析和可视化,巩固所学知识。
R语言实用教程教学设计 (2)

R语言实用教程教学设计简介R语言是一种广泛应用于统计分析、数据可视化和数据科学领域的编程语言。
本文档将介绍如何设计一门R语言实用教程,帮助初学者从基础到实践迅速入门。
目标学习者本教程适合具有初步编程基础的学习者,尤其适合统计、数据科学、计算机等专业背景的学生和职场从业者。
教学内容设计第一章:R语言基础•安装R语言和RStudio•R语言基本语法和数据类型•R语言数据结构:向量、矩阵、数组、数据框和列表•基本运算符和函数•流程控制和循环语句第二章:数据读入和处理•读取各种格式的数据•数据清洗、变换和过滤•数据库连接和查询•自定义函数和函数库的使用第三章:统计分析•描述性统计分析:均值、中位数、标准差等•统计图表绘制:散点图、折线图、柱状图等•假设检验:t检验、方差分析、卡方检验等•相关分析:相关系数、回归分析等第四章:数据可视化•基础绘图:画图函数的使用及可视化效果的设计•统计绘图:ggplot2包的基本应用•高级可视化:交互式可视化、地图可视化等第五章:实践项目•实践案例设计:使用真实数据和问题,设计项目任务•项目实现过程:数据读入、清洗、可视化分析、统计建模等•项目结果报告:向外界输出报告和解决方案教学方法•讲解和演示:讲解知识点及示范代码实现•练习和提问:让学生在实践过程中加深理解•互动和分享:组织学生互相分享经验和思路•实践和项目:引导学生完成实际项目任务,促进知识沉淀和巩固教学评价方法•作业打分:批改学生课后作业,评估掌握程度•项目评分:评估学生项目设计、实际操作和成果报告等质量•互动参与评分:评估学生上课参与和提问的积极性•最终成绩:考核所有指标得出最终成绩和证书总结本文档介绍了如何设计一门R语言实用教程,包括教学内容设计、教学方法和教学评价方法等方面的具体实践指导。
通过本教程的学习和实践,学生将掌握R语言的基础知识和实践能力,为数据科学和统计分析领域的进一步学习和工作打下坚实的基础。
《R语言数据分析》课程教案(全)

《R语言数据分析》课程教案(全)第一章:R语言概述1.1 R语言简介介绍R语言的发展历程、特点和应用领域讲解R语言的安装和配置1.2 R语言基本操作熟悉R语言的工作环境学习如何创建、保存和关闭R剧本掌握R语言的基本数据类型(数值型、字符串、逻辑型、复数、数据框等)1.3 R语言的帮助系统学习如何使用帮助文档(help()、?、man()函数)掌握如何搜索和安装R包第二章:R语言数据管理2.1 数据导入与导出学习如何导入CSV、Excel、txt等格式的数据掌握如何将R数据导出为CSV、Excel等格式2.2 数据筛选与排序掌握如何根据条件筛选数据学习如何对数据进行排序2.3 数据合并与分割讲解数据合并(merge、join等函数)的方法和应用场景讲解数据分割(split、apply等函数)的方法和应用场景第三章:R语言统计分析3.1 描述性统计分析掌握R语言中的统计量计算(均值、中位数、标准差等)学习如何绘制统计图表(如直方图、箱线图、饼图等)3.2 假设检验讲解常用的假设检验方法(t检验、卡方检验、ANOVA等)掌握如何使用R语言进行假设检验3.3 回归分析介绍线性回归、逻辑回归等回归分析方法讲解如何使用R语言进行回归分析第四章:R语言绘图4.1 ggplot2绘图系统介绍ggplot2的基本概念和语法学习如何使用ggplot2绘制柱状图、线图、散点图等4.2 基础绘图函数讲解R语言内置的绘图函数(plot、barplot、boxplot等)掌握如何自定义图形和调整图形参数4.3 地图绘制学习如何使用R语言绘制地图讲解如何使用ggplot2绘制地理数据可视化图第五章:R语言编程5.1 R语言编程基础讲解R语言的变量、循环、条件语句等基本语法掌握如何编写R函数和模块化代码5.2 数据框操作学习如何使用数据框进行编程讲解如何使用dplyr等工具包进行数据框操作5.3 面向对象编程介绍R语言的面向对象编程方法掌握如何使用R6和S3编程范式第六章:R语言时间序列分析6.1 时间序列基础介绍时间序列数据的类型和结构学习时间序列数据的导入和预处理6.2 时间序列分解讲解时间序列的分解方法,包括趋势、季节性和随机成分使用R语言进行时间序列分解6.3 时间序列模型介绍自回归模型(AR)、移动平均模型(MA)、自回归移动平均模型(ARMA)和自回归积分滑动平均模型(ARIMA)学习如何使用R语言建立和预测时间序列模型第七章:R语言机器学习7.1 机器学习概述介绍机器学习的基本概念、类型和应用学习机器学习算法选择的标准和评估方法7.2 监督学习算法讲解回归、分类等监督学习算法使用R语言实现监督学习算法7.3 无监督学习算法介绍聚类、降维等无监督学习算法使用R语言实现无监督学习算法第八章:R语言网络分析8.1 网络分析基础介绍网络分析的概念和应用领域学习网络数据的导入和预处理8.2 网络图绘制讲解如何使用R语言绘制网络图学习使用igraph包进行网络分析8.3 网络分析应用介绍网络中心性、网络结构等分析方法使用R语言进行网络分析案例实践第九章:R语言生物信息学应用9.1 生物信息学概述介绍生物信息学的概念和发展趋势学习生物信息学数据类型和常用格式9.2 生物序列分析讲解生物序列数据的导入和处理使用R语言进行生物序列分析9.3 基因表达数据分析介绍基因表达数据的特点和分析方法使用R语言进行基因表达数据分析第十章:R语言项目实战10.1 数据分析项目流程介绍数据分析项目的流程和注意事项10.2 R语言项目实战案例一分析一个真实的统计数据集,实践R语言数据分析方法10.3 R语言项目实战案例二使用R语言解决实际问题,如商业分析、社会研究等10.4 R语言项目实战案例三结合数据库和API接口,进行大规模数据分析和处理重点和难点解析重点环节1:R语言的安装和配置解析:R语言的安装和配置是学习R语言的第一步,对于初学者来说,可能会遇到操作系统兼容性、安装包选择等问题。
r语言抽样课程设计

r语言抽样课程设计一、课程目标知识目标:1. 学生能理解R语言抽样方法的基本概念和原理;2. 学生掌握R语言中sample函数的使用,能够对不同类型数据进行简单随机抽样;3. 学生了解抽样误差和抽样分布的概念,并能够用R语言进行简单模拟;4. 学生掌握分层抽样和整群抽样等复杂抽样方法,并能够在R语言中实现。
技能目标:1. 学生能够运用R语言进行数据抽样操作,解决实际问题;2. 学生能够通过R语言编写代码,分析抽样数据的特征,为后续数据分析奠定基础;3. 学生能够运用所学抽样方法,结合R语言,对实际数据进行探索性数据分析。
情感态度价值观目标:1. 学生通过学习R语言抽样,培养数据分析的兴趣和热情,提高解决实际问题的能力;2. 学生在学习过程中,养成合作、探究、批判性思维等良好的学习习惯;3. 学生认识到抽样在数据分析中的重要性,培养严谨的科学态度和尊重事实的价值观。
课程性质:本课程为R语言数据分析系列课程的一部分,侧重于抽样方法在R语言中的应用。
学生特点:学生为高中二年级学生,具备一定的数学基础和编程经验,对数据分析感兴趣。
教学要求:结合学生特点,采用任务驱动和案例教学,注重理论与实践相结合,提高学生的动手操作能力和解决问题的能力。
通过课程学习,使学生能够熟练运用R语言进行抽样操作,为后续数据分析打下坚实基础。
二、教学内容1. R语言抽样基础:- 抽样方法的概念与分类;- R语言中的sample函数及其参数设置;- 简单随机抽样的实现与操作。
2. 抽样误差与抽样分布:- 抽样误差的定义与计算;- 抽样分布的模拟与可视化;- 估计量与估计误差。
3. 复杂抽样方法:- 分层抽样的原理与实现;- 整群抽样的原理与实现;- 案例分析与实际应用。
4. 抽样在数据分析中的应用:- 抽样数据的基本统计量计算;- 抽样数据的可视化展示;- 抽样数据的相关性分析。
教学内容安排与进度:第一课时:R语言抽样基础,包括简单随机抽样的概念与实现;第二课时:抽样误差与抽样分布,进行模拟与可视化;第三课时:复杂抽样方法,讲解分层抽样和整群抽样的原理与实现;第四课时:抽样在数据分析中的应用,结合实际案例进行操作和分析。
应用回归分析R语言版课程设计

应用回归分析R语言版课程设计导言随着数据科学在各个领域的应用广泛,数据挖掘和分析技术逐渐成为一种重要的能力。
而回归分析在数据分析中应用广泛,尤其在统计数据分析中扮演着重要的角色。
本文主要介绍应用回归分析R语言版课程设计,通过该课程设计,帮助学习者掌握回归分析的基本方法和技术,理解回归分析的原理,并能够熟练的运用R语言进行数据分析。
课程设计目标本课程设计旨在帮助学习者:•了解回归分析的基本原理和方法,掌握回归分析的基本概念及工具;•熟悉R语言的基本操作、原理和数据类型;•学会基本的回归分析模型的建立和分析;•通过实践,掌握使用R语言进行数据分析的基本方法和技巧;•培养学习者的数据变态和分析能力,提高其在数据分析领域的竞争力。
课程设计内容第一部分:回归分析基础1.1回归分析基础概念•线性回归模型的基本概念•残差分析•外推和插值1.2回归分析基本方法•渐进法•最小二乘法•列方程法1.3R语言基础•R语言基本操作•数据类型•基本逻辑控制和循环结构•R语言中的数据结构•数据的读取和存储第二部分:简单回归分析2.1简单回归分析的基本概念•简单线性回归模型•回归直线的求解与解释•简单回归分析的推断(t检验、F检验)•回归模型的拟合度检验2.2简单回归模型的适用条件•相关方程的假定•离散度检验•异常值检验2.3R语言的简单回归分析•数据的导入与整理•R语言中的简单回归分析•回归直线的图示第三部分:多元回归分析3.1多元回归模型的基本概念•多变量回归模型•多元线性回归模型•回归系数的估计3.2多元回归模型的适用条件•多元回归分析的基本假定•异常值处理•异方差性检验3.3R语言的多元回归分析•数据的导入与整理•R语言中的多元回归分析•回归系数的图示第四部分:应用案例分析4.1案例1:在线广告投放策略分析•数据的整理和导入•简单回归模型的建立•多元回归模型的建立•模型优化4.2案例2:销售预测分析•数据的整理和导入•简单回归模型的建立•多元回归模型的建立•模型优化结语本课程设计旨在帮助学习者掌握回归分析的基本方法和技能,理解回归分析的基本原理。
数据分析与R软件课程设计

数据分析与R软件课程设计一、前言数据分析是重要的数据科学领域,在目前的数据驱动时代,掌握数据分析技能变得越来越重要。
而R语言则是数据科学与统计学领域中使用最广泛的编程语言之一,因其强大的数据可视化能力、优秀的统计分析功能、方便的数据处理等优势而备受关注。
因此,为了满足对数据分析领域的教学需求,本文就R语言的数据分析课程设计进行探讨。
二、课程设计2.1 课程目标本课程的主要目标是使学生掌握基本的数据分析思维能力和数据处理技能,进而通过使用R语言进行数据分析的实践来提高其数据分析与建模能力。
在具体实践中,本课程的主要目标包括:•学习如何使用R语言进行数据导入、数据处理、数据分析和数据可视化;•掌握各种统计分析技术和实际应用案例;•学会应用具体的数据分析工具和算法来解决实际的问题;•培养数据分析思维,发掘数据中的价值。
2.2 课程设置本课程设置为10周,按照如下内容组织:课程内容学时数据处理基础 2数据可视化基础 2数据类型与数据结构 2数据科学编程基础 2常用统计学方法 2在这样的教学设置下,学生们可以以逐步深入的方式逐渐掌握R语言数据分析的各种技能和方法。
注:需要注意的是,本课程只是一个初级课程,学员们需要在学习完成后继续深入学习数据分析和R语言相关技术,并将所学应用于实际工作和研究中。
2.3 课程教学方法在本课程中,除了正常的课堂教学,还包括以下一些教学方法:1.案例分析:介绍具体数据案例并让学生进行数据分析的实操;2.课程作业:每周布置数据分析和处理的作业,以巩固所学的知识;3.课堂互动:让学生们在课堂上就学习过程中遇到的困难进行交流和分享;4.课外学习:引导学生们积极参加数据分析技术相关培训、学术交流等活动。
以上的教学方法可以促进学生掌握R语言数据分析知识的同时,也能够培养他们的数据分析思维和实际技能,为日后掌握更复杂更高级的技术打下坚实的基础。
三、总结随着互联网及移动互联网的快速发展,数据分析这个领域的重要性日益增强,并受到越来越多人的关注和追求。
r语言的课程设计

r语言的课程设计一、课程目标知识目标:1. 理解R语言的基本概念和编程环境;2. 掌握R语言的数据类型、数据结构和基本运算符;3. 学会使用R语言进行数据处理、数据分析和基本图形绘制;4. 了解R语言在统计分析和数据科学中的应用。
技能目标:1. 能够运用R语言编写简单的程序,实现数据的基本操作;2. 掌握使用R包进行数据处理和分析的方法,如dplyr、ggplot2等;3. 能够运用R语言解决实际问题,如进行数据清洗、数据可视化等;4. 具备一定的编程思维,能够独立查找资料,解决R语言编程中的问题。
情感态度价值观目标:1. 培养学生对R语言编程的兴趣和热情,激发主动学习的动力;2. 培养学生的团队协作意识,学会与他人共同分析和解决问题;3. 培养学生的数据分析思维,认识到数据在现实生活中的重要性;4. 培养学生严谨的科学态度,注重数据的真实性和客观性。
分析课程性质、学生特点和教学要求,本课程目标注重理论与实践相结合,以培养学生的实际操作能力为核心。
通过本课程的学习,使学生掌握R语言的基本知识,具备一定的编程技能,能够在实际项目中运用R语言进行数据处理和分析,同时培养学生的团队协作、问题解决和科学思维能力。
教学过程中,注重激发学生的学习兴趣,使其在轻松愉快的氛围中掌握知识,提高技能。
二、教学内容1. R语言基础知识:包括R语言概述、安装与配置、编程环境、基本语法和运行规则等,对应教材第一章内容。
2. 数据类型与数据结构:讲解R语言的基本数据类型(如数值、字符、逻辑等),数据结构(如向量、列表、矩阵、数据框等),以及相关操作,对应教材第二章内容。
3. R语言编程基础:介绍R语言的基本运算符、控制结构(如循环、分支等),函数的编写与调用,对应教材第三章内容。
4. 数据处理与分析:学习使用R语言进行数据处理(如数据筛选、排序、合并等),以及常用统计分析方法(如描述性统计、假设检验等),对应教材第四章内容。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
统计软件及应用课程设计-----虫情危害预测学院:班级:学号:姓名:指导老师:目录一.背景与意义 (2)二.问题重述 (2)三.方法简介 (2)(一)、判别分析 (2)(二)、BP神经网络 (3)四.数据处理与分析 (3)(一)、数据预处理 (4)(二)、判别分析 (4)1、模型建立 (4)2、模型优化 (6)3、模型应用 (7)(三)、BP神经网络 (7)1、模型建立 (7)2、模型优化 (8)3、建模重建 (11)4、模型应用 (12)五.总结与建议 (12)一.背景与意义农作物主要害虫常年对农作物造成严重危害,使农业经济遭到损失。
预测害虫未来的发生动态,可以使治虫工作得以有目的、有计划、有重点的进行。
害虫的预测预报工作就是进行害虫综合防治的必要前提。
只有对害虫发生危害的预测预报做到及时、准确,才能正确的拟定综合防治计划,及时采取必要的措施,经济有效的压低害虫的发生数量,保证农业的高产、稳产。
二.问题重述本文选取的预测预报对象就是安徽庐江的田间水稻。
水稻螟虫就是水稻的重要害虫之一,对农作物的危害极大,其数量的多少一定程度上决定着水稻受危害的严重程度。
通过对此昆虫的基本了解,发现气候因素对昆虫的发生发展有着密切关系,可以直接影响昆虫的生长、发育、生存、繁殖,从而造成害虫不同的发生期、发生量与危害程度。
同时水稻螟虫就是变温昆虫,其生长、发育与繁殖与气象条件的关系极为密切,所以我们从气候因素角度入手进行分析就是合理的。
本文从影响害虫生存繁殖的气候因素角度入手,结合往年的气象资料以及影响害虫生存繁殖的重要气候因素,选取了平均气温、最低气温、日照时间及降雨量四个主要影响因素,运用统计学方法确定虫害的发生量与气候因子的关系,并给出相应的预测方法。
三.方法简介针对实际问题,我们需要通过对历史数据的分析,给出准则:当给定新时期下每一样本对应的各项气候指标时,能准确的判断其对应的虫害程度。
下面介绍两种方法。
(一)、判别分析判别分析就是在分类确定的条件下,根据某一研究对象的各种特征值判别其类型归属问题的一种多变量统计分析方法,就是用以判别个体所属群体的一种统计方法。
根据判别中的组数,可以分为两组判别分析与多组判别分析;根据判别函数的形式,可以分为线性判别与非线性判别;根据判别式处理变量的方法不同,可以分为逐步判别、序贯判别;根据判别标准不同,可以分为距离判别、Fisher判别、Bayes判别法。
本文选用的就是Fisher判别法。
Fisher判别,就是根据线性Fisher函数值进行判别,使用此准则要求各组变量的均值有显著性差异。
该方法的基本思想就是投影,即将原来在R维空间的自变量组合投影到维度较低的D维空间去,然后在D维空间中再进行分类。
投影的原则就是使得每一类的差异尽可能小,而不同类间投影的离差尽可能大。
Fisher判别的优势在于对分布、方差等都没有任何限制,应用范围比较广。
另外,用该判别方法建立的判别方差可以直接用手工计算的方法进行新样品的判别,这在许多时候就是非常方便的。
(二)、BP神经网络BP神经网络就是1986年由Rumelhart与McCelland为首的科学家小组提出,就是一种按误差逆传播算法训练的多层前馈网络,就是目前应用最广泛的神经网络模型之一。
BP网络能学习与存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。
它的学习规则就是使用梯度下降法,通过反向传播来不断调整网络的权值与阈值,使网络的误差平方与最小。
BP神经网络模型拓扑结构包括输入层、隐藏层与输出层。
BP神经网络,由信息的正向传播与误差的反向传播两个过程组成。
输入层各神经元负责接收来自外界的输入信息,并传递给中间层各神经元;中间层就是内部信息处理层,负责信息变换,根据信息变化能力的需求,中间层可以设计为单隐层或者多隐层结构;最后一个隐层传递到输出层各神经元的信息,经进一步处理后,完成一次学习的正向传播处理过程,由输出层向外界输出信息处理结果。
当实际输出与期望输出不符时,进入误差的反向传播阶段。
误差通过输出层,按误差梯度下降的方式修正各层权值,向隐层、输入层逐层反传。
周而复始的信息正向传播与误差反向传播过程,就是各层权值不断调整的过程,也就是神经网络学习训练的过程,此过程一直进行到网络输出的误差减少到可以接受的程度,或者预先设定的学习次数为止。
本文运用的就是单层前馈网络模型,一般称为三层前馈网或三层感知器,即:输入层、中间层(也称隐层)与输出层。
如下图所示它的特点就是:各层神经元仅与相邻层神经元之间相互全连接,同层内神经元之间无连接,各层神经元之间无反馈连接,构成具有层次结构的前馈型神经网络系统。
四.数据处理与分析数据来自于1980~1988年6~10月安徽庐江的月平均温度、月最低温度、月日照时间、月降雨量以及水稻的月平均虫害程度,且数据都就是经过标准化之后的。
(一)、数据预处理首先,将降雨量的最后一个数据中的空格消除,再把原始数据的前两列合并为一列,并保存为CSV(逗号分隔)格式,之后用函数将数据读入到R的内存中。
> shuju<-read、csv('chongqing、csv')为了方便之后的操作,对各列进行命名,其中date代表年度时间,x1~x4分别代表平均气温、最低气温、日照时间、降雨量,y代表虫害程度。
同时给出各类别下的样本量个数。
由于本文不采用时间序列预测的方法进行分析,故第一列的数据使用不到,最终确定使用的数据集为剔除原数据框第一列之后的数据框。
从原始数据中可知样本量为54,不就是很多,如果再进行分块,可能由于样本量的限制无法得到最好的结果,因此,下文中的训练集与测试集均选用原始数据来充当。
> names(shuju)<-c('date','x1','x2','x3','x4','y')> x<-shuju[,2:6]> table(y)y1 2 3 435 6 2 11将数据框X中的变量链接到内存中,降低后续代码的复杂程度,提高代码的可读性。
> attach(x)(二)、判别分析1、模型建立安装并加载软件包MASS。
> install、packages(“MASS”)> library(MASS)将训练集中的y变量作为判别变量,其她剩余的变量作为特征变量,运用lda ()函数来进行费希尔判别下的线性判别。
> lda<-lda(y~、,data=x) #线性判别> ldaCall:lda(y ~ 、, data = x)Prior probabilities of groups:1 2 3 40、64814815 0、11111111 0、03703704 0、20370370Group means:x1 x2 x3 x41 -0、03336857 -0、007231429 -0、0008800 -0、22869712 0、76923333 0、748800000 0、1302167 -0、26963333 0、37765000 0、436600000 0、6406500 -0、49735004 0、56514545 0、608190909 0、2076455 -0、2936727Coefficients of linear discriminants:LD1 LD2 LD3x1 1、1966105 -1、8868126 -3、1952390x2 0、9773588 1、1840427 3、3471367x3 0、2431136 2、1779657 -0、2219837x4 -0、2754396 -0、3782063 0、4283132Proportion of trace:LD1 LD2 LD30、8767 0、1197 0、0036输出结果的第二项为此次过程中各类别所使用的先验概率,其实就就是训练集中判别变量各水平下的数量占总样本量的比例。
第三项为各变量在每一类别中的均值,从中可以瞧出x1~x3在各类别下有较明显的差别,相反x4在各类别下的差别很小,也就说明降雨量对虫害程度的影响不就是很显著。
第四项给出线性判别式的参数矩阵。
第五项给出各线性判别式分别的贡献比例。
> plot(lda)从上图可以瞧到,在3个线性判别式下1~4这4个类别的分布情况,不同类别样本已经用相应数字标出。
可能受样本量的限制,图中并不能瞧出很明显的分布情况。
下面用上述模型对测试集进行预测,并给出测试集中y变量的预测结果与实际类别的混淆矩阵。
> pred<-predict(lda,x[,1:4])> pred$class[1] 1 1 4 4 1 1 1 1 4 4 1 1 1 1 1 1 1 1 1 1 1 4 1 1 1 1 4 41 1 1 1 4 4 1 1 1 1 42 1[42] 1 1 1 4 4 1 1 1 1 1 1 1 1Levels: 1 2 3 4> table(y,pred$class)y 1 2 3 41 32 0 0 32 2 1 0 33 1 0 0 14 6 0 0 5上述混淆矩阵的行表示实际的类别,列表示预测判定的类别。
在54个测试样本中,实际属于第1类的有35个,而由判定结果,在35个样本中,有32个判定正确,有3个被错判为第4类;第2类只有1个判定正确,有2个被错判为第1类,3个被错判为第4类;第3类没有一个判定正确;第4类有5个判定正确,6个被错判为第1类。
从矩阵中只能瞧出每一类别的预测结果与实际类别的差距,只就是一个直观的判断,并不能由此瞧出该模型的优劣,所以我们需要构造一个数量指标(误判概率 = 矩阵非对角线之与/样本总量),通过这个指标来确定模型的优劣。
> e_lda<-sum(as、numeric(pred$class)!=y)/nrow(x)> e_lda[1] 0、2962963通过计算,上述模型的误判率为29、6%,可以瞧出该模型的预测效果并不好,因此需要进一步的改进。
2、模型优化从上文中我们知道,使用Fisher判别要求各组变量的均值有显著性差异,从上述结果已经知道降雨量在各类别下的均值差异性很小,所以我们可以考虑将其剔除,通过计算各变量在各类别下均值的方差,来作为剔除某一变量的理论依据。
> var=>c(var(lda$means[,1]),var(lda$means[,2]),+ var(lda$means[,3]),var(lda$means[,4]))> var[1] 0、11678909 0、10783314 0、07718836 0、01433243从结果来瞧,x4在各类别下均值的方差相对其她三者而言差别较大,因此考虑将其剔除,然后重新进行线性判别分析。