R语言初步 彭司华 上海海洋大学 2016.3.

Slides:



Advertisements
Similar presentations
RESSET 金融研究数据库 RESSET/DB 操作指南 经济金融研究数据专业平台 北京聚源锐思数据科技有限公司.
Advertisements

第 3 章 统计整理 统计学. 【学习目标】 1. 理解统计整理的作用、原则及分类; 2. 掌握分配数列的分类及其编制方法; 3. 掌握统计图表的绘制方法。 第3章第3章.
中国宏观经济数据库 ( 国泰安研究服务中心 ). 一、数据库简介  “ 国泰安研究服务中心 ” ( )是 中国经济、金融、会计研究的门户网站,主要从事 股票市场、上市公司、基金市场、期货市场、债券 市场、货币市场等经济数据的采集和研究服务。  国泰安研究服务中心由数据服务、研究服务与学者.
認識食品標示 東吳大學衛生保健組製作.
RESSET 金融研究数据库RESSET/DB 操作指南
中国旅游研究院武汉分院成果展示 ——2011年武汉市旅游市场调研成果简报 华中师范大学 中国旅游研究院武汉分院 二〇一一年十二月.
第八章 互换的运用.
SPSS 軟體與統計應用 Ya-Yun Cheng, How-Ran Guo
入党基础知识培训.
高职人才培养评估核查 与状态数据采集平台建设工作 说 明 广东水利电力职业技术学院 曾志军
颞下颌关节常见病.
理论联系实践 理论就是, 什么都懂,但什么都不会用 实践就是, 什么都不懂,却什么都会用 理论联系实践就是, 什么都不会用
開南大學 資訊管理學系 學分學程相關說明.
統 計 程 式 語 言.
致理科技大學保險金融管理系 實習月開幕暨頒獎典禮
劳动社会保障法学 吴 斌 四川理工学院 法学教授.
第2章 基因和染色体的关系 第1节 减数分裂和受精作用.
XXX分析室组长竞聘 演讲人: XXX
探討某醫院志工 中華醫事科技大學 參與服務動機影響因子 指導老師: 趙 海 倫 老 師 班 級: 四 醫 管 四 A
結腸直腸腫瘤的認知.
轻者——脑充血、水肿,致使头晕、头痛 重者——脑细胞变性,神经传导抑制,出现阵过性或永久 性思维能力下降,感觉反应迟钝等。 若酒精毒性作用反复损伤脑细胞和神经传导,致使脑功 能极度减退反应能力低下,严重者发展为痴呆症。      
郭詩韻老師 (浸信會呂明才小學音樂科科主任)
大道至简:自主学习拿高分 丽水市教育教学研究院 朱德飞.
§1.5 一些简单实例 例1 某人平时下班总是按预定时间到达某处,然 然后他妻子开车接他回家。有一天,他比平时提早
如何撰写教育科研论文 谌 业 锋 四川省凉山州教育科学研究所 欢迎访问 业锋教育在线
按按按高互動遙控教學系統.
初中《思想品德》课程改革 回顾·现状·展望
教育訓練.
2. 戰後的經濟重建與復興 A. 經濟重建的步驟與措施 1.
教育调查研究法.
2014創新創業教育研習營 本梯次限額50名,以報名順序額滿為止!! 課程內容及時間:
武汉市武昌区疾病预防控制中心 全永霞 副主任医师
資料轉換.
4. 聯合國在解決國際衝突中扮演的角色 C. 聯合國解決國際衝突的個案研究.
新陸書局股份有限公司 發行 第十九章 稅捐稽徵法 稅務法規-理論與應用 楊葉承、宋秀玲編著 稅捐稽徵程序.
Moodle試用報告 林俊卿.
R 基础培训 Mango - Solutions ShangHai China.
EViews操作簡介 2013/11/06.
量化研究與統計分析 比較平均數 Test 謝寶煖 台灣大學圖書資訊學系 2006年4月1日.
第 八 章 迴歸分析假設條件 之檢定及補救措施 2018/11/28.
統計基本觀念 壹、資料 資料來源:實驗之量測結果,抽樣調查結果,公告資料。 一、資料類型
R语言简介 来源 R是S语言的一种实现。S语言是由 AT&T贝尔实验室开发的一种用 来进行数据挖掘、统计分析、作图的解释型语言。最初S语言的实 现版本主要是S-PLUS。S-PLUS是一个商业软件,它基于S语言, 并由MathSoft公司的统计科学部进一步完善。 1995年由新西兰Auckland大学统计系的Robert.
Introduction to Bioinformatics
四年級 中 文 科.
RESSET 数据库 RESSET/DB 操作指南
数学建模 江西财经大学 数学与管理决策系 制作:华长生 华长生制作.
1 在平面上畫出角度分別是-45°,210°,675°的角。 (1) (2) (3)
龙星课程—肿瘤生物信息学上机课程 曹莎
EXCEL+ORIGN+SPSS的描述统计
聖誕禮物 歌羅西書 2:6-7.
课题:已知三角函数值求角 sina tana y P 。 x P’ 。.
实验教学 MATLAB在行列式和矩阵中的应用 授课教师:杨梦云.
R與資料探勘(data mining)簡介
第六节 无穷小的比较.
社会科学统计软件及应用 马秀麟 2016年5月.
遊戲設計 Homework3 – 小朋友下樓梯.
第7章 MATLAB工程计算.
统计软件应用 4 主讲人 陶育纯 SPSS统计分析 统计软件应用 4 主讲人 陶育纯 教案.
统计软件应用 4 主讲人 陶育纯 SPSS统计分析 统计软件应用 4 主讲人 陶育纯 教案.
Excel 2010电子 表格制作案例教程.
第一章 概說.
大数据应用人才培养系列教材 R 语言 刘 鹏 张 燕 总主编 程显毅 主编 刘颖 朱倩 副主编.
并行计算 Parallel Computing 方匡南 厦门大学教授 博士生导师.
三角比的恆等式 .
大数据应用人才培养系列教材 R 语言 刘 鹏 张 燕 总主编 程显毅 主编 刘颖 朱倩 副主编.
生命科学学院 生物信息学实验室 冯聪 03/18, 2019 Hangzhou
認識 Excel 與SPSS.
全國高級中等學校專業群科 食品群專題組之專題製作 經驗分享 報告者:北門農工 (劉軒如).
1.2.1 任意角的三角函数(2)  x o y.
三角 三角 三角 函数 已知三角函数值求角.
Presentation transcript:

R语言初步 彭司华 上海海洋大学 2016.3

内容 一 R简介 二 函数与对象 三 R绘图 四 数据保存 五 用R做正态性检验

The R Project for Statistical Computing

简 史 R语言是从S统计绘图语言演变而来,可看作S的“方言”。 S语言上世纪70年代诞生于贝尔实验室,由Rick Becker, John Chambers, Allan Wilks开发。 基于S语言开发的商业软件Splus,可以方便的编写函数、建立模型,具有良好的扩展性,在国外学术界应用很广。 1995年由新西兰Auckland大学统计系的Robert Gentleman和Ross Ihaka,基于S语言的源代码,编写了一能执行S语言的软件,并将该软件的源代码全部公开,这就是R软件,其命令统称为R语言。

R的特点 多领域的统计资源 目前在R网站上约有2400个程序包,涵盖了基础统计学、社会学、经济学、生态学、空间分析、系统发育分析、生物信息学等诸多方面。 跨平台 R可在多种操作系统下运行,如Windows、MacOS、多种Linux和UNIX等。 命令行驱动 R即时解释,输入命令,即可获得相应的结果。

CRAN The Comprehensive R Archive Network 推荐镜像: 中国的镜像:数学所 http://ftp.ctex.org/mirrors/CRAN/ 即时更新的CRAN源 http://cran.r-project.org/

R登陆界面(Windows版)

R程序包(R Packages) 程序包是什么? R程序包是多个函数的集合,具有详细的说明和示例。 Window下的R程序包是经过编译的zip包。 每个程序包包含R函数、数据、帮助文件、描述文件等。 为什么要安装程序包? R程序包是R功能扩展,特定的分析功能,需要用相应的程序包实现。 例如:系统发育分析,常用到ape程序包,群落生态学vegan包等。

常用R程序包(I) ade4 利用欧几里得方法进行生态学数据分析 adephylo 系统进化数据挖掘与比较方法 ape 系统发育与进化分析 apTreeshape 进化树分析 boot Bootstrap检验 cluster 聚类分析 ecodist 生态学数据相异性分析 FD 功能多样性分析 geiger 物种形成速率与进化分析

常用R程序包(II) Graphics 绘图 lattice 栅格图 maptools 空间对象的读取和处理 mefa 生态学和生物地理学多元数据处理 mgcv 广义加性模型相关 mvpart 多变量分解 nlme 线性及非线性混合效应模型 ouch 系统发育比较 pgirmess 生态学数据分析 phangorn 系统发育分析

常用R程序包(III) picante 群落系统发育多样性分析 raster 栅格数据分析与处理 seqinr DNA序列分析 sp 空间数据处理 spatstat 空间点格局分析,模型拟合与检验 splancs 空间与时空点格局分析 stats R统计学包 SDMTools 物种分布模型工具 vegan 植物与植物群落的排序,生物多样性计算

程序包使用 程序包的中函数,都要先导入,再使用,因此导入程序包是第一步。 在控制台中输入如下命令: library(vegan) library(ade4) 程序包内的函数的用法与R内置的基本函数用法一样。 This is vegan 1.17-2

查看函数的帮助文件 函数的默认值是什么? 怎么使用? 使用时需要注意什么问题? 需要查询函数的帮助。 1 ?t.test 4 help("t.test") 6 查看R包pdf手册

R帮助文件的内容与格式

帮助文件的内容 lm{stats} #函数名及所在包 Fitting Linear Models #标题 Description #函数描述 Usage #默认选项 Arguments #参数 Details #详情 Author(s) #作者 References #参考文献 Examples #举例

二 R的函数 R是一种解释性语言,输入后可直接给出结果。 功能靠函数实现。 函数形式: 函数(输入数据,参数= ) 如果没有指定,则参数的以默认值为准。 例如: 平均值 mean(x, trim = 0, na.rm = FALSE, ...) 线性模型 lm(y~x, data=test)

R的函数 每一个函数执行特定的功能,后面紧跟括号,例如: 平均值 mean() 求和 sum() 绘图 plot() 排序 sort()

R有哪些函数? 查询的方法:Help>Html help>packages log() log10() exp() sin() cos() tan() asin() acos() binom.test() fisher.test() chisq.test() glm(y ~ x1+x2+x3, binomial) friedman.test() mean() sd() var() ….

R函数调用及其选项 箱线图绘制函数的调用 boxplot(day~type, data=bac, col="red", xlab="Virus", ylab="days") day~type,以type为横轴,day为纵轴绘制箱线图。 data=bac 数据来源bac col=“red” 箱线图为红色 xlab=“Virus” 横轴名称为Virus ylab=“days” 纵轴名称为days

赋值与注释 赋值符号 在控制台中键入如下命令 2 + 2 a <- 2 <-也可用=, 甚至->代替 b <- 2 c <- a+b c #注释 赋值符号

数组,数据框,列表 数组(array) 数组是k维的数据表(k in 1:n, n 为正整数)。 数据框(dataframe) 是由一个或几个向量和(或)因子构成,它们必须是等长的,但可以是不同的数据类型。 列表(list) 列表可以包含任何类型的对象。 可以包含向量、矩阵、高维数组,也可以包含列表

运算符 数学运算 运算后给出数值结果 +, -, *, /, ^ (幂) 比较运算 运算后给出判别结果(TRUE FALSE) >, <, <=, >=, ==, != 逻辑运算 与、或、非 !, &, &&, |, ||

数据框的组成 每个数据表可以看作一个数据框(dataframe)。 每一列(column)作为一个向量(vector)。 由很多不同类型的向量组成,如字符型,因子型,数值型。 每一行(row)作为一个记录(entry) 如何生成数据框? 两种办法: (1)从外部数据读取 (2)各类型因子组合成数据框

外部数据读取 最为常用的数据读取方式是用read.table() 函数或read.csv()函数读取外部txt或csv格式的文件。 一些R程序包(如foreign)也提供了直接读取Excel, SAS, dbf, Matlab, spss, systat, Minitab文件的函数。

向量的创建 四种类型的向量 字符型 character<-c("China", "Korea", "Japan", "UK", "USA", "France", "India", "Russia") 数值型 numeric<-c(1, 3, 6, 7, 3, 8, 6, 4) 逻辑型 logical<-c(T, F, T, F, T, F, F, T) 复数型 略

向量的创建 生成向量的函数 c(),rep(),seq(),”:” c(2,5,6,9) rep(2,times=4) seq(from=3, to=21, by=3 ) [1] 3 6 9 12 15 18 21 “:” 1:15 [1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 通过与向量的组合,产生更为复杂的向量。 rep(1:2,c(10,15))

数据框的创建 创建数据框的函数:data.frame(), as.data.frame(), cbind(), rbind() head() #默认访问数据的前6行

类的判断 对象类型判断 is.numeric() #返回值为TRUE或FALSE is.logical() #是否为逻辑值 is.charactor() #是否为字符串 is.null() #是否为空 is.na() #是否为na

类的转换 as.numeric() #转换为数值型 as.logical() #转换为逻辑型 as.charactor() #转换为字符串 as.matrix() #转换为矩阵 as.data.frame() #转换为数据框

向量内的元素引用 intake.pre <- c(5260, 5470, 5640, 6180, 6390, 6515, 6805, 7515, 7515, 8230, 8770) intake.post <- c(3910, 4220, 3885, 5160, 5645, 4680, 5265, 5975, 6790, 6900, 7335) intake.pre[5]; #引用第5个元素 intake.pre[c(3,5,7)] #引用第3,5,7个元素 v <- c(3,5,7); intake.pre[v]; intake.pre[1:5]; #引用第1到5个元素 intake.pre[-c(3,5,7)] #去除第3,5,7元素

数据框内元素的引用 intake <- data.frame(intake.pre, intake.post) 引用数据框中的元素 (1) $ 引用列,后面为列的名称 例如 intake$intake.pre (2) [,]方括号引用,逗号前为行,逗号后为列 intake[,1]; 引用第1列 intake[5,]; 引用第5行 intake[5,1]; 引用第1列,第5行 i = 1:5; intake[i,] 引用1到5行

工作空间image R的所有对象都在计算机内存的工作空间中。 ls() 列出工作空间中的对象 rm() 删除工作空间中的对象 rm(list=ls()) 删除空间中所有对象 save.image() 保存工作镜像 getwd() 显示当前工作文件夹 setwd() 设定工作文件夹 可将结果保存在image中,形式为.Rdata文件,里面保存了R当前工作空间中的各种对象,包括函数。

例-线性回归 对一批涂料进行研究,确定搅拌速度对杂质含量的影响,数据如下,试进行回归分析 表3 搅拌速度对涂料中杂质的影响 转速rpm 20 表3 搅拌速度对涂料中杂质的影响 转速rpm 20 22 24 26 28 30 32 34 36 38 40 42 杂质率% 8.4 9.5 11.8 10.4 13.3 14.8 13.2 14.7 16.4 16.5 18.9 18.5

脚本举例 #将以下代码粘贴到编辑器中,另存为regression.r文件。 rate<-c(20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42) impurity <-c(8.4, 9.5, 11.8, 10.4, 13.3, 14.8, 13.2, 14.7, 16.4, 16.5, 18.9, 18.5) plot(impurity~rate) reg<-lm(impurity~rate) abline(reg,col=“red") summary(reg)

运行脚本 两种运行方式 1 通过source()函数运行 source("d:/regression.r") 2 直接粘贴到R控制台 ctrl+c, ctrl+v

三 R绘图

R绘制的图形

绘制地图 fields 包实例 spdep 包实例

空间分析绘图 gstat程序包实例

R绘图功能 R具备卓越的绘图功能,通过参数设置对图形进行精确控制。绘制的图形能满足出版印刷的要求,可以输出Jpg、tiff、eps、emf、pdf、png等各种格式。 通过与GhostScript软件的结合,可以生成600dpi,1200dpi的等各种分辨率和尺寸的图形。 绘图是通过绘图函数结合相应的选项完成的。 绘图函数包括高级绘图函数和低级绘图函数。

高级绘图函数 plot() 绘制散点图等多种图形,根据数据的类,调用相应的函数绘图 hist() 频率直方图 boxplot() 箱线图 stripchart() 点图 barplot() 柱状图 dotplot() piechart() 饼图 matplot() 数学图形

散点图与箱线图

在原有直方图上添加曲线

四 数据保存 write.table() write.csv() save.image() sink() unlink()

R网络资源 R主页: http://www.r-project.org R资源列表 NCEAS http://www.nceas.ucsb.edu/scicomp/software/r R Graphical Manual http://bm2.genes.nig.ac.jp/RGM2/index.php 统计之都: http://cos.name/ QuikR http://www.statmethods.net/ 丁国徽的R文档: http://www.biosino.org/R/R-doc/ R语言中文论坛 http://rbbs.biosino.org/Rbbs/forums/list.page

五 用R做正态性检验 1、ks.test()    2、shapiro.test()     Shapiro-Wilk检验。 3、normtest包     lillie.test()可以实行更精确的Kolmogorov-Smirnov检验。     ad.test()进行Anderson-Darling正态性检验。     cvm.test()进行Cramer-von Mises正态性检验。     pearson.test()进行Pearson卡方正态性检验。     sf.test()进行Shapiro-Francia正态性检验。 4、fBasics包     normalTest()进行Kolmogorov-Smirnov正态性检验。     ksnormTest()进行Kolmogorov-Smirnov正态性检验。     shapiroTest()进行Shapiro-Wilk's正态检验。     jarqueberaTest()进行jarque-Bera正态性检验。     dagoTest进行D'Agostino正态性检验。     gofnorm采用13种方法进行检验,并输出结果。

五 用R做正态性检验 > k<-c(148 ,154, 158, 160, 161, 162, 166, 170, 182, 195, 236) shapiro.test(k)  Shapiro-Wilk normality test data: k W = 0.7888, p-value = 0.006704 其p值小于0.05,所以我们可以拒绝原假设,即该数据不符合正态分布

五 用R做正态性检验 > shapiro.test(rnorm(100, mean = 5, sd = 3)) Shapiro-Wilk normality test data: rnorm(100, mean = 5, sd = 3) W = 0.9926, p-value = 0.863 这个例子中,第一个命令是检验一个随机生产的100个数据,该数据集符合均值为5、标准差为3的正态分布,其W统计量接近1,p值显著大于0.05,所以我们没办法拒绝其符合正态分布。