R计算计划书北理.doc

上传人:wux****ua 文档编号:9254863 上传时间:2020-04-04 格式:DOC 页数:14 大小:52.50KB
返回 下载 相关 举报
R计算计划书北理.doc_第1页
第1页 / 共14页
R计算计划书北理.doc_第2页
第2页 / 共14页
R计算计划书北理.doc_第3页
第3页 / 共14页
点击查看更多>>
资源描述
统计软件R及其实践指导书一、实践目的本课程是统计学专业的必修实践课,目的是初步介绍统计软件R,通过查阅手册、工具书、互联网及其它信息源获取必要信息,使学生利用R语言进行基本的统计数据处理、画图等,通过本课程的学习培养学生严谨、实事求是的科学态度和良好的实验素质,激发实验兴趣和探索精神,提高动手实践能力。二、实践主要内容及要求本实践课程要求学生熟悉R的基本操作,包括R的数据文件的建立,数据的存储与读取,绘图功能和基本的R编程技术。实践进行过程中,指导教师给予适当的指导,尽量让每个学生自己动手完成实践项目,最终在专业课还没全面展开之前,对统计软件R有个初步的认识,为在以后的专业课中熟练应用统计软件完成相关统计分析打下良好的基础。第一部分:R软件介绍(2学时)内容简介:介绍统计软件R,介绍R的集成环境R-studio及其基本操作,如何获取帮助等第二部分:R软件使用(8学时)内容简介:R的基本原理,R的交互对话,R的数据文件的建立与数据结构,数据的存储与读取 第三部分:R的图形功能(4学时)内容简介:R的图形功能介绍,常用的绘图函数,绘图命令,绘图参数第四部分:R的编程(2学时)内容简介:R的基本编程技术三、实践基本步骤及进度安排节次内容学时备注1介绍统计软件R,介绍R的集成环境R-studio及其基本操作,如何获取帮助等22R的基本原理,R的交互对话,R的数据文件的建立与数据结构,数据的存储与读取83R的图形功能介绍,常用的绘图函数,绘图命令,绘图参数44R的基本编程技术2四、考核方式指导教师根据学生考勤情况和设计报告的撰写情况打分。考勤、纪律占20%,课堂检查40%,期末考试40%。采用5级评分制: 优秀、良好、中等、合格、不合格。 第一部分:R和R-studio的介绍 R是一个有强大统计分析及作图功能的免费统计软件,最先由Ross Ihaka和Robert Gentleman共同创立的,现在由R开发核心小组(R Development Core Team)维护。因为R具有很多显著的优点,所以越来越多的人开始接触、学习和使用R软件,简单介绍如下:1 R具有免费、不依赖于操作系统、帮助功能完善、作图功能强大、统计分析能力突出、可移植性强、灵活等很多显著的优点。2 R的安装与运行。从CRAN社区(http:/cran.r-project.org/)下载最新的R安装程序安装即可,进入官网后点击 Download R for Windows 点击 install R for the first time.点击 Download R 2.15.2 for Windows (47 megabytes, 32/64 bit)安装完成后,双击桌面的快捷方式即可启动运行(也可通过R的集成环境R-studio)。3 R程序包的安装。4 R的在线帮助。R丰富的帮助文件和在线帮助给初学者提供了很大的方便。R-studio是统计软件R的集成环境,很好地把R的命令窗口、历史记录、图形显示、帮助文件等各种功能集于同一界面,使用起来更方便快捷。简单介绍如下:1R-studio的安装与运行。在安装好R软件之后,从R-studio官网(http:/www.rstudio.org/)下载安装程序安装(注意一定先安装R再安装R-studio)。安装完成后,点击桌面的快捷方式启动运行R-studio。第二部分:R软件的使用R的基本工作原理简单介绍如下:R是编程语言,也是解释性语言,可以如同maxima一样,对输入的命令直接运行,而不需要像C一样编译连接,而且R的语法简单直观,当然在R中相关的变量和函数名中用到的字母都是区分大小写的。R是通过一些对象来运行的,下面先介绍R的对象和属性1、所有对象都有两个内在属性:类型和长度 其中类型主要分为数值型、字符型、复数型、逻辑型四种,可以通过函数mode(对象名)查看其属性;而长度为对象中元素的数目,可以通过函数length(对象名)查看其长度2、R的数据对象的类别包括向量、因子、数组、矩阵、数据框、时间序列、列表,其中数据框和列表内的元素可以是多种不同类型的,而其他对象中的元素必须是同一类型的,下面将介绍每个对象向量:向量的产生 根据向量的类型可以通过相应的函数来完成,如数值型向量常用c( ), seq( ), rep( ), scan( ), 字符型向量常用c( ), paste( ),逻辑型向量通过逻辑表达式产生,如a=c(1.2,3.1,4.2,5.8,3.4)b=seq(-2*pi,2*pi,by=pi/4)c=1:20d=rep(1:4,times=4)f=rep(1:4,each=4)A=c(“apple”,”orange”,”bear”)B=paste(“X”,1:10)#如果需要了解函数paste的更多用法,可输入?paste,同样方法可得其他函数帮助a3(a3)&(a10,sum(cc16)#其中c16生成一个逻辑向量矩阵:矩阵的建立 通过函数matrix等建立矩阵,如A=matrix(1:24,nrow=4)matrix(1:24,nrow=4,byrow=T)#矩阵默认是按列排列元素的,如需按行排,可通过选项byrowA=matrix(c(1,3,5,2,4,6,3,6,9),nrow=3)rownames(A)=c(A,B,C)diag(c(1,3,5)矩阵相关的运算 各种矩阵的运算都是通过调用相关函数实现,如转置t( ),合并矩阵cbind( ), rbind( ), 逐元乘积符号*,矩阵乘法符号%*%,方阵的行列式det( ),另外向量中用到的相关统计函数在矩阵上同样可以适用,如C=matrix(1:4,norw=2)D=matrix(5:8,nrow=2)cbind(C,D)dbind(C,D)#体会如何构造分块矩阵C*DC%*%D#体会两种乘法有何不同det(C)diag(C)apply(A,1,sum)apply(A,2,sum)#对比体会apply函数的应用,及参数margin的作用A=matrix(c(1:8,10),nrow=3,byrow=T)b=c(1,1,1)solve(A)#求矩阵A的逆矩阵solve(A,b)#求解线性方程组Ax=beigen(A)#求A的特征值与特征向量矩阵索引 可以通过下标索引矩阵或者修改矩阵元素A1,3,A2,A,2,A-2,A,-2A=matrix(1:24,nrow=4),B=matrix(1:4,nrow=2),AB, AB=c(0,0)数据框:数据框的建立 通过data.frame()函数建立数据框,或者通过读取数据文件建立,如x=c(10,14,20,15,)y=c(“X”,”Y”,”A”,”B”)df=data.frame(x,y)name=c(zhangsan,lisi,wangwu,zhaoliu)sex=c(F,M,F,M)height=c(165,180,160,175)weight=c(45,75,50,70)df=data.frame(name,sex,height,weight)a=c(zhangsan,lisi,wangwu,zhaoliu)b=c(F,M,F,M)c=c(165,180,160,175)d=c(45,75,50,70)df=data.frame(name=a,sex=b,height=c,weight=d)#定义的同时指定变量名数据框子集的提取与修改df1,3df1,df1:3,df1:3,2:3#以上提取都类似于矩阵的提取df$namedf$sex#通过变量名提取变量(即列)subset(df,sex=”F”&height160)#提取符条件的子集df$kscj=c(90,95,80,70)#数据框df中添加新的变量kscj绑定数据框 需要多次用到某个数据框,可以先绑定,如attach(Puromycin)#绑定R中的数据框Puromycinhead(Puromycin)#查看R中数据框Puromycin的前几条记录conciconc=1/concPuromycin#你看到了什么?数据框中有没有iconc这个变量?说明什么呢?Puromycin$iconc=1/concPuromycin#你又看到了什么?数据框中有没有iconc这个变量?说明什么呢?detach(Puromycin)#使用完之后,要解除绑定列表 列表可以包含不同类型的对象列表的建立 使用list函数或者通过读取外部文件建立列表A=list(1:6,matrix(1:24,nrow=4),paste(“X”,1:10,sep=”)B=list(x=1:6,y=matrix(1:24,nrow=4),z=paste(“X”,1:10,sep=”)列表的提取A1A1#对比与A1结果的区别,此处是提取A中的元素来生成一个子列表,而A1是提取A中的元素B$x#类似于数据框的变量索引注意:(1)列表可以类似于数据框的绑定和解除绑定,具体不再距离(2)列表和数据框之间可以通过as.list或者as.data.frame函数相互转换数据的存储与读取外部数据的读取 外部数据保存在文本文件或者excel,如何读取到R中呢?如果外部数据文件保存在工作目录中(getwd()可以查看工作目录),可以直接使用read.table函数读取数据,如houseprice=read.table(“house data.txt”,header=T)#文本文件house data.txt在工作目录中,header=T表示第一行读取为变量名,文本文件中用空格作为数据分隔符如果分隔符为逗号,可使用函数read.csv,具体用法参看帮助文件如果外部数据文件没保存在工作目录中,则要指定文件的路径,如houseprice=read.table(“C:/Users/whusk/Desktop/house data.txt”,header=T)#注意路径分隔符为/,而不是。scan函数也可以读取外部文件数据,而且scan可以指定变量类型和变量名,如mydata=scan(“mydata”,what=list(“”,0,0)#指定读入数据列表中变量类型为字符、数值、数值mydata=scan(“mydata”,what=list(sex=“”,weight=0,height=0)#指定三个变量的变量名如果希望读入数据框,则可在读取为列表之后,使用as.data.frame函数转换为数据框read.fwf函数用来读取文件中固定宽度格式的数据,如mydata=read.fwf(mydata.txt,widths=c(1,4,3)#指定读取数据的宽度分别为1,4,3excel中数据的读取主要介绍三种方法一、 先将excel表转化为文本文件,再用read.table函数读取二、 将excel表中的数据复制,再用函数read.delim(“clipboard”)读取三、 使用程序包RODBC,命令如下library(RODBC)z=odbcConnectExcel(C:/Users/whusk/Desktop/a.xlsx)foo=sqlFetch(z,Sheet1)close(z)但是运行报错,原因是只能在32位的操作系统中运行?R中数据的存储可保存为文本文件,如df=data.frame(obs=1:3,treat=c(“A”,”B”,”C”),weight=c(2,3,4)write.table=(d,file=”foo.txt”)R绘图 R绘图函数分为高级绘图函数和低级绘图函数,其中高级绘图函数可以生成新的图形,而低级绘图函数则在现有图形上添加作图,并且R中的绘图函数均提供了丰富的绘图选项和绘图参数,可以使用绘图选项和绘图参数来改进图形的显示,下面通过具体例子介绍几个R中的绘图函数及其用法x=rnorm(20)plot(x)#画向量x的散点图,可以只管观察x的取值情况x=seq(0,4*pi,by=0.05)y=sin(x)plot(x,y)#画出x,y的散点图,可以观察两个变量x,y取值规律plot(x,y,type=l)#改变散点图的点的类型plot(x,y,type=o)plot(x,y,type=o,xlab=x,ylab=sin(x)#添加横纵坐标轴的标签plot(x,y,type=o,xlab=x,ylab=sin(x),main=y=sinx的图像)#添加主标题plot(x,y,type=l,xlab=x,ylab=sin(x),main=y=sinx的图像,sub=正弦函数图像)#添加副标题n=40k=seq(0,n)p=0.1plot(k,dbinom(k,n,p),main=二项分布分布律)#画出二项分布的概率分布律点图lines(k,dpois(k,n*p),col=red)画出二项分布所近似的泊松分布的概率分布律curve(dnorm(x,n*p,sqrt(n*p*(1-p),col=blue,add=T)#画出二项分布所近似的正态分布的概率密度函数图象curve(sin(x),xlim=c(-5,5),ylim=c(-1,1)#画正弦函数图象,指定横纵坐标的范围curve(sin(x)/x,xlim=c(-20,20),ylim=c(-1,1),col=red,add=T)#在原有图形上添加新的图形,并指出图形颜色curve(x*sin(x),xlim=c(-20,20),ylim=c(-20,20),lwd=2)#指定所画曲线的线的宽度points(8,0)z=cos(x)lines(x,z)text(pi/2,1,labels=极大值点)#在指定位置添加文字text(10,1,expression(y=sin(x)#在指定位置添加公式mtext(正弦图像,side=1,line=0)#在指定的边空出添加文字mtext(正弦图像,side=2,line=0)arrows(0,0,pi,0,angle=10,code=1)#添加箭头arrows(0,0,pi,0,angle=10,code=2)arrows(0,0,pi,0,angle=30,code=3)#体会三种箭头的不同arrows(9,sin(9),10,1,angle=10,code=2)abline(0,1)#添加截距为0斜率为1的直线abline(h=0.5)#添加水平线abline(v=10)#添加垂直线curve(dnorm(x,0,1),xlim=c(-5,5),ylim=c(0,0.8),col=red,lwd=2,lty=3)#画正态密度函数图象curve(dnorm(x,0,2),xlim=c(-5,5),ylim=c(0,0.8),col=blue,lwd=2,lty=2,add=T)curve(dnorm(x,0,1/2),xlim=c(-5,5),ylim=c(0,0.8),lwd=2,lty=1,add=T)title(main=正态分布的密度函数图像)legend(par(usr)2,par(usr)4,xjust=1,c(sigma=1,sigma=2,sigma=1/2), lwd=c(2,2,2),lty=c(3,2,1),col=c(red,blue,par(fg)curve(sin(x),xlim=c(-2*pi,2*pi),ylim=c(-2,2),lwd=2,lty=4)curve(x-x3/3,xlim=c(-2*pi,2*pi),ylim=c(-2,2),col=red,lwd=2,lty=3,add=T)curve(x-x3/3+x5/5,xlim=c(-2*pi,2*pi),ylim=c(-2,2),col=blue,lwd=2,lty=2,add=T)curve(x-x3/3+x5/5-x7/7,xlim=c(-2*pi,2*pi),ylim=c(-2,2),col=green,lwd=2,lty=1,add=T)title(main=正弦函数的泰勒多项式逼近)legend(par(usr)2,par(usr)4,xjust=1,c(正弦函数,三次逼近,五次逼近,七次逼近), lwd=c(2,2,2,2),lty=c(4,3,2,1),col=c(par(fg),red,blue,green)#在指定位置添加图例op=par()#保存默认绘图参数设置par(lwd=2,bg=yellow)#修改默认线宽度和背景颜色curve(sin(x),xlim=c(-2*pi,2*pi),ylim=c(-2,2),lty=4)curve(x-x3/3,xlim=c(-2*pi,2*pi),ylim=c(-2,2),col=red,lty=3,add=T)curve(x-x3/3+x5/5,xlim=c(-2*pi,2*pi),ylim=c(-2,2),col=blue,lty=2,add=T)curve(x-x3/3+x5/5-x7/7,xlim=c(-2*pi,2*pi),ylim=c(-2,2),col=green,lty=1,add=T)title(main=正弦函数的泰勒多项式逼近)legend(par(usr)2,par(usr)4,xjust=1,c(正弦函数,三次逼近,五次逼近,七次逼近), lty=c(4,3,2,1),col=c(par(fg),red,blue,green)par(op)#恢复默认绘图参数设置plot(k,dbinom(k,n,p),type=l,lwd=2)lines(k,dpois(k,n*p),lwd=2,col=red)curve(dnorm(x,n*p,sqrt(n*p*(1-p),lwd=2,col=blue,add=T)title(main=二项分布的泊松近似和正态近似示意图)legend(par(usr)2,par(usr)4,xjust=1,c(二项分布,泊松近似,正态近似), lwd=c(2,2,2),col=c(par(fg),red,blue)x=rnorm(100)#生成标准正态随机数hist(x)#画直方图hist(x,prob=T)#概率直方图density(x)lines(density(x)#密度估计图象boxplot(x)#箱线图x=4if(x=0) sqrt(x) else NAx=4ifelse(x=0,sqrt(x),NA)for(i in 1:5)print(1:i)i=1while(i9) breakfzero=function(f,a,b,eps=1e-5) if(f(a)*f(b)0) list(fail=finding root is fail!) else repeat if(abs(b-a)eps) break x=(a+b)/2 if(f(a)*f(x)=0) sqrt(x) else NAsq(-4)sq(4)%!%=function(x,y) x2+y2x=1:4y=2:5x%!%y
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!