R语言实验指导书(二)
R语言实验二

R语⾔实验⼆实验2 R基础(⼆)⼀、实验⽬的:1.掌握数字与向量的运算;2.掌握对象及其模式与属性;3.掌握因⼦变量;4.掌握多维数组和矩阵的使⽤。
⼆、实验内容:1.完成教材例题;2.完成以下练习。
练习:要求:①完成练习并粘贴运⾏截图到⽂档相应位置(截图⽅法见下),并将所有⾃⼰输⼊⽂字的字体颜⾊设为红⾊(包括后⾯的思考及⼩结),②回答思考题,③简要书写实验⼩结。
④修改本⽂档名为“本⼈完整学号姓名1”,其中1表⽰第1次实验,以后更改为2,3,...。
如⽂件名为“1305543109张⽴1”,表⽰学号为1305543109的张⽴同学的第1次实验,注意⽂件名中没有空格及任何其它字符。
最后连同数据⽂件、源程序⽂件等(如果有的话),⼀起压缩打包发给课代表,压缩包的⽂件名同上。
截图⽅法:法1:调整需要截图的窗⼝⾄合适的⼤⼩,并使该窗⼝为当前激活窗⼝(即该窗⼝在屏幕最前⽅),按住键盘Alt键(空格键两侧各有⼀个)不放,再按键盘右上⾓的截图键(通常印有“印屏幕”或“Pr Scrn”等字符),即完成截图。
再粘贴到word⽂档的相应位置即可。
法2:利⽤QQ输⼊法的截屏⼯具。
点击QQ输⼊法⼯具条最右边的“扳⼿”图标,选择其中的“截屏”⼯具。
)1.⾃⾏完成教材P58页2.2-2.5节中的例题。
2.(习题2.1)建⽴⼀个R⽂件,在⽂件中输⼊变量x = (1,2,3)T,y = (4,5,6)T,并作以下运算(1)计算z = 2x + y + e,其中e = (1,1,1)T;(2)计算x与y的内积;(3)计算x与y的外积。
解:源代码:(1)x<-c(1,2,3)y<-c(4,5,6)e<-c(1,1,1)z=2*x+y+ez1=crossprod(x,y) #z1为x与y的内积或者x%*%yz2=tcrossprod(x,y) #z2为x与y的外积或者x%o%yz;z1;z2(2) x<-c(1,2,3)y<-c(4,5,6)e<-c(1,1,1)z=2*x+y+ez1= x%*%yz2=x%o%yz;z1;z2运⾏截图:3.(习题2.2)将1,2,…,20构成两个4×5阶的矩阵,其中矩阵A是按列输⼊,矩阵B是按⾏输⼊,并作如下运算(1)C = A + B;(相对应的数相加)(2) D = AB T;(3)E = (e ij )4×5,其中e ij = a ij·b ij;(相对应的数相乘)(4)F是由A的前3⾏和前3列构成的矩阵;(5)G是由矩阵B的各列构成的矩阵,但不含B的第3列。
R语言实战(第2版)——第2章-2.2数据结构

R语言实战(第2版)——第2章-2.2数据结构#R语言实战#第2章创建数据集#2.2 数据结构#P21 标量:只含一个元素的向量,用于保存常量f <- -3g <- "US"h <- TRUE#P21 向量:用于存储数值型、字符型或逻辑型数据的一维数组。
单个向量中的数据必须拥有相同的模式a <- c(1,2,5,3,6,-2,4) #数值型向量b <- c("one","two","three") #字符型向量c <-c(TRUE,TRUE,TRUE,FALSE,TRUE,FALSE) #逻辑型向量a <- c("k", "j", "h", "a", "c", "m")a[3] #方括号返回给定元素所处位置的数值a[c(1,3,5)]a[2:6] #冒号用于生成一个数值序列a <- c(2:6)a <- c(2,3,4,5,6) #二者等价#矩阵:二维数组,每个元素有相同的模式(数值型、字符型或逻辑型)#matrix创建矩阵,ncol和nrow指定行和列的维度,dimnames行名、列名,byrow=T按行填充,byrow=F按列填充,默认按列填充#mymatrix <- matrix(vector,nrow=numble_of_rows, ncol = number_of_columns,byrow = logical_value,# dimnames = list(char_vector_rownames,char_vector_colnames))#P22 2-1创建矩阵y <- matrix(1:20,nrow = 5,ncol = 4)cells <- c(1,26,24,68)rnames <- c("R1","R2")cnames <- c("C1","C2")mymatrix <- matrix(cells,nrow = 2,ncol = 2,byrow = TRUE,dimnames = list(rnames,cnames)) #按行填充mymatrix <- matrix(cells,nrow = 2,ncol = 2,byrow = FALSE,dimnames = list(rnames,cnames)) #按列填充#使用下标和方括号选择矩阵的行列和元素x <- matrix(1:10,nrow = 2)x[2,]x[,2]x[1,4]x[1,c(4,5)]#数组:当维度超过2时,可以用数组代替矩阵#P23 2-3创建数组#myarray <- array(vector,dimensions,dimnames)#vector包含了数组中的数据,dimensions是数值型向量,给出了各维度下标的最大值,dimnames是可选的,各维度名称标签的列表dim1 <- c("A1","A2")dim2 <- c("B1","B2","B3")dim3 <- c("C1","C2","C3","C4")z <- array(1:24,c(2,3,4),dimnames = list(dim1,dim2,dim3))#使用方括号和下标选择数组中的元素z[1,2,3]#数据框:多种数据模式,包含数值型、字符型、逻辑型#mydata <- data.frame(col1,col2,col3,...)#P24 2-4创建数据框patientID <- c(1,2,3,4)age <- c(25,34,28,52)diabates <- c("type1","type2","type1","type1")status <- c("poor","improved","excellent","poor")patientdata <- data.frame(patientID,age,diabates,status)#P24 2-5选取数据框中的元素,下标和列名等价,美元符$列名patientdata[1:2]patientdata[c("diabates","status")]patientdata$agetable(patientdata$diabates,patientdat a$status) #生成列联表#在每个变量名前都输一边数据框名$太麻烦了,走一些捷径:attach()/detach()/with()summary(mtcars$mpg)plot(mtcars$mpg,mtcars$disp)plot(mtcars$mpg,mtcars$wt)#也可写成attach(mtcars) #将数据框添加到R的搜索路径中summary(mpg)plot(mpg,disp)plot(mpg,wt)detach(mtcars) #将数据框从搜索路径中移除#也可写成with(mtcars,{print(summary(mpg))plot(mpg,disp)plot(mpg,wt)})#with赋值仅在括号内生效,若需创建在括号外生效的变量,是用特殊赋值符号<<- with(mtcars,{nokeepstats <- summary(mpg)keepstats<<-summary(mpg)})nokeepstatskeepstats#实例标识符patientID <- c(1,2,3,4)age <- c(25,34,28,52)diabates <- c("type1","type2","type1","type1")status <- c("poor","improved","excellent","poor")patientdata <- data.frame(patientID,age,diabates,status,rs = patientID) #指定patientID作为打印输出和图形中实例名称所用变量#因子:名义和有序变量在R中称为因子diabates <- c("type1","type2","type1","type1")diabates <- factor(diabates)status <- c("poor","improved","excellent","poor")status <- factor(status,ordered = T) #1=excellent2=improved 3=poorstatus <- factor(status,order=T,levels = c("poor","improved","excellent")) #指定levels覆盖默认顺序sex <- factor(sex,levels = c(1,2),labels = c("male","female")) #数值型变量编码成因子,所有非1非2均被当做缺失值#P28 2-6因子的使用patientID <- c(1,2,3,4)age <- c(25,34,28,52)diabates <- c("type1","type2","type1","type1")status <- c("poor","improved","excellent","poor")diabates <- factor(diabates)status <- factor(status,ordered = T)patientdata <- data.frame(patientID,age,diabates,status)str(patientdata) #显示数据框的信息summary(patientdata) #区别对待不同类型变量#列表:R中最复杂的数据类型,是一些对象的有序集合。
R语言实验

精心整理实验8假设检验(二)一、实验目的:1.掌握若干重要的非参数检验方法( 2检验——列联表独立性检验,Mcnemar检验——对一个样本两种研究方法是否有差异的检验,符号检验,Wilcoxon 符号秩检验,Wilcoxon秩和检验);2.掌握另外两个相关检验:Spearman秩相关检验,Kendall秩相关检验。
二、实验内容:练习:要求:①完成练习并粘贴运行截图到文档相应位置(截图方法见下),并将所有自己输入文字的字体颜色设为红色(包括后面的思考及小结),②回答思考题,③简要书写实验小结。
④修改本文档名为“本人完整学号姓名1”,其中1表示第1次实验,以后更改为2,3,...。
如文件名为“09张立1”,表示学号为09的张立同学的第1次实验,注意文件名中没有空格及任何其它字符。
最后连同数据文件、源程序文件等(如果有的话,本次实验没有),一起压缩打包发给课代表,压缩包的文件名同上。
截图方法:法1:调整需要截图的窗口至合适的大小,并使该窗口为当前激活窗口(即该窗口在屏幕最前方),按住键盘Alt键(空格键两侧各有一个)不放,再按键盘右上角的截图键(通常印有“印屏幕”或“PrScrn”等字符),即完成截图。
再粘贴到word文档的相应位置即可。
法2:利用QQ输入法的截屏工具。
点击QQ输入法工具条最右边的“扳手”图标,选择其中的“截屏”工具。
)1.自行完成教材第五章的例题。
2.(习题5.11)为研究分娩过程中使用胎儿电子监测仪对剖腹产率有无影响,对5824例分娩的经产妇进行回顾性调查,结果如下表所示,试进行分析。
5824例经产妇回顾性调查结果HHP=9.552e-10<0.05,拒绝原假设,分娩过程中使用胎儿电子监测仪对剖腹产率有影响3.(习题5.12)在高中一年级男生中抽取300名考察其两个属性:B是1500米长跑,C是每天平均锻炼时间,得到4×3列联表,如下表所示。
试对 =0.05,检验B 与C是否独立。
实验二

(1) ,
(2)在同一图形中,画出四幅不同图形:
其中 。
8.随机变量 具有参数 和未知参数 的二项式分布,在一次观测中得到 的观测值为4,请画出 的取值在0到1之间的似然函数及对数似然函数的图形,并根据图形估计 的极大似然估计值。
9.作出 的图形。
10. R的MASS包中crabs数据框记录了200只紫岩蟹的形态学数据,请做散点图回答以下问题(要求:显示图例和标题):
现代统计分析与R语言实验名:学号:日期:
1、实验目的
1.熟悉R语言常用命令;
2.熟悉R语言的常用数据对象;
3.掌握R语言编程;
4.了解R语言的面向对象程序属性。
二、实验要求
写出在命令和运行结果,如果输出结果较长,可以列出部分或者重要的结果;
参考资料:Modern Applied statistics with S;统计建模与R软件。
三、实验内容
1.读取exp2-1.txt文本中数据存入矩阵IR中,其维数与原数据文件相同。
2.读取bankloan.xls中数据存入数据框mybank中。
3.将R的MASS包中数据框whiteside输出到whiteside.txt和whiteside.csv中。
4.Fibonacci数组的元素满足Fibonacci规则: , ;且 。现要求该数组中第一个大于10000的元素。
5.在R中定义分段函数 ,计算f(-7), f(1),f(5), f(9)
6.球场上,一足球运动员开出角球,初速度是v(m/s),初速度与水平面的夹角是 ,不计空气阻力,球飞行过程中没有触碰到任何人员,球始终在与球场垂直的同一平面内飞行,以发球点作为原点:(1)请编写一个函数计算t秒后球的位置,重力加速度作为函数参数默认为9.8m/s;(2)当该球员开出角球的初速度为20m/s,角度为53度时,请画出该球的飞行轨迹。
R语言实验报告

R语言实验报告一、试验目的R是用于统计分析、绘图的语言和操作环境。
R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。
本次试验要求掌握了解R语言的各项功能和函数,能够通过完成试验内容对R语言有一定的了解,会运用软件对数据进行分析。
二、试验环境Windows系统,RGui(32-bit)三、试验内容模拟产生电商专业学生名单(学号区分),记录高数、英语、网站开发三科成绩,然后进行统计分析。
假设有的100名学生,起始学号为210222001,各科成绩取整,高数成绩为均匀分布随机数,都在75分以上。
英语成绩为正态分布,平均成绩80,标准差为7。
网站开发成绩为正态分布,平均成绩83,标准差为18。
把正态分布中超过100分的成绩变成100分。
1把上述信息组合成数据框,并写到文本文件中;2计算各种指标:平均分,每个人的总分,最高分,最低分,(使用apply函数)3求总分最高的同学的学号4绘各科成绩直方图、散点图、柱状图丶饼图丶箱尾图(要求指定颜色和缺口)5画星相图,解释其含义6画脸谱图,解释其含义,7画茎叶图、qq图四、试验实现(一)按要求随机生成学号,和对于的高数、英语、网站开发三科成绩。
A、生成学号B、生成高数成绩高数成绩要求:高数成绩为均匀分布随机数,都在75分以上均匀分布函数:runif(n,min=0,max=1)其中,n为产生随机值个数(长度),min为最小值,max为最大值。
C、生成英语成绩英语成绩要求:正态分布,平均成绩80,标准差为7正态分布函数:rnorm(n,mean=0,sd=1)其中,n为产生随机值个数(长度),mean是平均数,sd是标准差。
D、生成网站开发成绩网站开发成绩要求:网站开发成绩为正态分布,平均成绩83,标准差为18。
其中大于100的都记为100。
(二)把上述信息组合成数据框,并写到文本文件中;计算各种指标:平均分,每个人的总分,最高分,最低分,(使用apply函数)A、生成文本文件B、打开数据框C、在数据框中命名变量D、计算各种指标:平均分,每个人的总分,最高分,最低分平均分(x4):总分(x5):最低分(x6):最高分(x7):(三)将生成成绩写入文本文件中(四)求总分最高的同学的学号(五)绘各科成绩直方图、散点图、柱状图丶饼图丶箱尾图(要求指定颜色和缺口)直方图散点图柱状图饼图箱尾图(要求指定颜色和缺口)(六)画星相图,解释其含义(七)画脸谱图,解释其含义(八)画茎叶图(九)qq图五、试验总结 这次试验是我第一次接触R 语言,刚开始遇到了很多困难,对于R语言一窍不通,后来经过老师的悉心指导,以及自己积极的去查找资料,对R语言有了进一步的了解。
R语言实验指导书二

R语言实验指导书
二
R语言实验指导书(二)
10月27日
实验三创立和使用R语言数据集
一、实验目的:
1.了解R语言中的数据结构。
2.熟练掌握她们的创立方法,和函数中一些参数的使用。
3.对创立的数据结构进行,排序、查找、删除等简单的操作。
二、实验内容:
1.向量的创立及因子的创立和查看
有一份来自澳大利亚所有州和行政区的20个税务会计师的信息样本1 以及她们各自所在地的州名。
州名为:tas, sa, qld, nsw, nsw, nt, wa, wa, qld, vic, nsw, vic, qld, qld, sa, tas, sa, nt, wa, vic。
1)将这些州名以字符串的形式保存在state当中。
2)创立一个为这个向量创立一个因子statef。
3)使用levels函数查看因子的水平。
2.矩阵与数组。
i.创立一个4*5的数组如图,创立一个索引矩阵如图,用
这个索引矩阵访问数组,观察结果。
3.将之前的state,数组,矩阵合在一起创立一个长度为3的
列表。
4.创立一个数据框如图。
R语言入门操作(2)

通过Lasso 来进⾏行行压缩估计和变量量选择2018年年9⽉月24⽇日⽥田甜参数估计与假设检验2019年年4⽉月28⽇日 ⽥田甜CONTENTS01 02 03Rstudio 参数估计假设检验01Rstudio•R,解释器器,IDE的关系R是⼀一种解释型语⾔言,不不需要编译的过程,代码的翻译和执⾏行行是同步的,R不不需要编译器器但需要解释器器图形界⾯面程序(GUI)除了了引⽤用了了解释器器到它主要窗⼝口中外,还实现了了编辑器器,图形展示和快捷按钮等功能,⼀一个GUI程序只需提供对R语⾔言常⽤用功能的图形化包装即可被称R的GUIGUI如果在⼀一个窗⼝口中包括了了解释器器、编辑器器和图形展示等功能则可被称为IDERstudio是⼀一个优秀的R IDE•选择⼀一个适合⾃自⼰己的IDE(Integrated Development Environment)•控制台•⼯工作空间和历史窗⼝口•画图和帮助窗⼝口2.1参数估计-点估计•矩估计因为不不同的分布有不不同的参数,所以在R 的基本包中并没有给出现成的函数,⼀一般要转化为⽅方程组求解:例例:设随机变量量X 服从[ , ]的均匀分布,现有n 个样本, ,估计两个参数解:⽤用样本⼀一阶矩(样本均值)估计总体均值,样本⼆二阶矩(样本⽅方差)估计总体⽅方差,即⽤用rootSolve 包中的函数multiroot()求解⽅方程组install.packages('rootSolve') # 安装rootSolve 程序包library(rootSolve) # 载⼊入包θ2x 1,...,x n θ1E (X )=θ1+θ22=¯x Var (X )=(θ2−θ1)212=1n n ∑i =1(x 1−¯x )2=S 2•输⼊入样本数据,计算样本⼀一阶矩和⼆二阶矩程序运⾏行行结果(采⽤用迭代的⽅方式,因此需要给出初始值)x = c(4, 5, 2, 9, 5, 1, 6, 4, 6, 2)mu = mean(x) # ⼀一阶矩var = sum((x - mean(x)) ^ 2) / 10 # ⼆二阶矩•构建⽅方程组model = function(theta, mu, var){c(F1 = theta[1] + theta[2] - 2 * mu,F2 = (theta[2] - theta[1]) ^ 2 / 12 - var)}•调⽤用函数进⾏行行求解(详细的参数说明可⽤用?multiroot命令来查看)multiroot(f=model,start=c(0,10),mu=mu,var=var)•法⼀一:写出似然函数,求偏导转换为⽅方程组,求解⽅方程组•例例:设X 服从正态分布 ,为来⾃自总体的⼀一组样本,⽤用极⼤大似然估计参数解:似然函数为:求偏导可得:N (μ,σ2)x 1,...,x n L (μ,σ2;x )=n ∏i =1f (x i ;μ,σ2)=(2πσ2)−n /2exp [−12σ2n∑i =1(x i −μ)2]∂lnL (μ,σ2;x )∂μ=−1σ2n ∑i =1(x i −μ)=0∂lnL (μ,σ2;x )∂σ2=−n 2σ2+12σ4n ∑i =1(x i −μ)2=0•输⼊入数据程序运⾏行行结果set.seed(1) # 设置随机种⼦子x = rnorm(10) # ⽣生成10个服从标准正态分布的随机数•构建⽅方程组model = function(e,x){n = length(x)c(F1 = sum(x - e[1]),F2 = - n + sum((x - e[1]) ^ 2) / e[2] ^ 2)}•调⽤用函数进⾏行行求解multiroot(f=model,start=c(0,1),x=x)•法⼆二:写出对数似然函数,调⽤用maxLik 包中的函数maxLik 。
聚类分析实验指导书-R

聚类分析实验指导书-R本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March《数据挖掘》实验报告院(部):管理工程学院专业:信息管理与信息系统实验项目:聚类分析实验班级:信管112姓名:李朝阳学号: 02聚类分析实验指导书实验目的:1熟悉R语言的相关对象与函数的用法2掌握利用R进行聚类分析的基本步骤实验内容:说明:本实验采用iris数据集,下面中的数据集如无上下文说明,即是指irisiris以鸢尾花的特征作为数据来源,数据集包含150个数据集,分为3类,每类50个数据,每个数据包含4个属性,是在数据挖掘、数据分类中非常常用的测试集、训练集。
四个属性分别为:花萼长度、花萼宽带、花瓣长度、花瓣宽度三类分别为:setosa, versicolor, virginica(山鸢尾、变色鸢尾和维吉尼亚鸢尾)1对数据集进行初步的统计与分析(1)数据集的维度-dim(2)数据集中的列名-names(3)数据集的内部结构-str(4)数据集的属性-attributes(5)查看数据集的前五条数据情况(6)查看数据集中属性前10行数据(7)显示数据集中每个变量的分布情况-summary(8)数据集列Species中各个值出现频次(9)根据列Species画出饼图-pie(10)算出列的所有值的方差-var(11)算出列iris$和iris$的协方差-cov(12)算出列iris$和iris$的相关系数-cor(13)画出列iris$分布柱状图(14)画出列iris$的密度函数图(15)画出列iris$和iris$的散点图(16)绘出矩阵各列的散布图-plot2使用knn包进行Kmean聚类分析(1)将数据集进行备份newiris<-iris,将列newiris$Species置为空newiris$Species<-NULL,将此数据集作为测试数据集(2)在数据集newiris上运行Kmean聚类分析,将聚类结果保存在kc中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
R语言实验指导书(二)2016年10月27日实验三创建和使用R语言数据集一、实验目的:1.了解R语言中的数据结构。
2.熟练掌握他们的创建方法,和函数中一些参数的使用。
3.对创建的数据结构进行,排序、查找、删除等简单的操作。
二、实验内容:1.向量的创建及因子的创建和查看有一份来自澳大利亚所有州和行政区的20个税务会计师的信息样本 1 以及他们各自所在地的州名。
州名为:tas, sa, qld, nsw, nsw, nt, wa, wa, qld, vic, nsw, vic, qld, qld, sa, tas, sa, nt, wa, vic。
1)将这些州名以字符串的形式保存在state当中。
2)创建一个为这个向量创建一个因子statef。
3)使用levels函数查看因子的水平。
2.矩阵与数组。
i.创建一个4*5的数组如图,创建一个索引矩阵如图,用这个索引矩阵访问数组,观察结果。
3.将之前的state,数组,矩阵合在一起创建一个长度为3的列表。
4.创建一个数据框如图。
5.将这个数据框按照mpg列进行排序。
6.访问数据框中drat列值为3.90的数据。
三、实验要求要求学生熟练掌握向量、矩阵、数据框、列表、因子的创建和使用。
实验四数据的导入导出一、实验目的1.熟练掌握从一些包中读取数据。
2.熟练掌握csv文件的导入。
3.创建一个数据框,并导出为csv格式。
二、实验内容1.创建一个csv文件(内容自定),并用readtable函数导入该文件。
2.查看R语言自带的数据集airquality(纽约1973年5-9月每日空气质量)。
3.列出airquality的前十列,并将这前十列保存到air中。
4.查看airquality中列的对象类型。
5.查看airquality数据集中各成分的名称6.将air这个数据框导出为csv格式文件。
(write.table (x, file ="", sep="", s =TRUE, s =TRUE, quote =TRUE))三、实验要求要求学生掌握从包中读取数据,导入csv文件的数据,并学会将文件导出。
实验五 R语言数据的清洗一、实验目的1.查看数据集的缺失值,并学会对缺失值进行处理。
2.对异常变量重新赋值。
3.将某一列的字符型转化为日期型。
4.利用subset()获取子集。
二、实验内容1.有一个数据框代码如下,使用summary函数查看,那一列含有缺失值,有几个。
并查看wind列的最大值。
Ozone <- c(41, 36, 12, 18, NA, 28)Solar.R <- c(190, 118, 149, 313, NA, NA)wind <- c(7.4, 8.0, 12.6, 11.5, 14.3, 14.9)Temp <- c(67, 82, 74, 62, 86, 66)date <- c("1997/05/01","1997/05/02","1997/05/03","1997/05/04","1997/05/05","1997/05/06")air <- data.frame(date,Ozone,Solar.R,wind,Temp, stringsAsFactors = FALSE)2.使用class()函数查看date函数的类型,并将其转化为data型,格式为月/日/年。
3.使用subset()根据Temp列获取air中Temp大于60小于70的数据。
4.将air中含有缺失值的列去掉。
5.找出Temp中大于85的值将其设置为缺失值。
6.创建一个air1包含两个列q1,q2。
用cbind函数添加到air中。
7.使用names函数查看air的列名,并根据列自己创建一个数据框。
使用rbind函数添加到air中三、实验要求要求学生会用subset获取子集,学会对缺失值进行一些简单的处理和对一些异常值的查找和修改。
实验六高级数据管理一、实验目的1.学会简单的数值和字符处理函数。
2.学会自己编写一个函数。
二、实验内容1.使用下面代码创建roster数据集。
Student <- c("John Davis", "Angela Williams","Bullwinkle Moose", "David Jones","Janice Markhammer", "Cheryl Cushing","Reuven Ytzrhak", "Greg Knox", "Joel England","Mary Rayburn")Math <- c(502, 600, 412, 358, 495, 512, 410, 625, 573, 522)Science <- c(95, 99, 80, 82, 75, 85, 80, 95, 89, 86)English <- c(25, 22, 18, 15, 20, 28, 15, 30, 27, 18)roster <- data.frame(Student, Math, Science, English,stringsAsFactors=FALSE)2.使用length函数查看Student的长度。
3.计算该班级数学的平均成绩,最高成绩。
4.将成绩单按照姓和名进行排序,将学生的各科考试成绩组合为单一的成绩衡量指标、基于相对名次(前 20%,下20%,等等)给出从A到F的评分。
1)使用quantile函数按20%,40%,60%,80%,求分位数。
2)使用变量重命名的方法将grade列分为A、B、C、D、F几个等级。
3)使用strsplit 函数将Student列的名字分割,存到name中。
4)创建一个函数x1,功能为实现返回值为传入参数的第一个值。
5)使用sapply 函数将name中的firstname提取出来。
(“sapply(data,function)”)同理即可提取出lastname。
6)将lastname和firstname与roster合并,同时去掉roster的第一列。
7)将成绩单用姓和名进行排序。
三、实验要求要求学生学会一些简单的数值和字符处理函数。
学会如何自己创建一个函数。
和对一些简单问题的处理。
实验七基本统计分析实验一、实验目的1.学会使用summary函数和Hmisc包中的describe函数来计算统计量。
2.使用table函数生成一维、二维、多维列联表。
3.学会用R实现卡方独立性检验。
4.学会用R进行相关性的度量。
5.学会用R进行Pearson、Spearman和Kendall相关。
6.学会用R进行相关性的显著性检验。
7.学会用R进行组间差异的非参数检验。
二、实验内容1.描述性统计分析1)对R自带的数据集rock(48块石头的形态数据)使用summary函数、Himisc包中的describe函数、pastecs包中的stats.desc函数计算描述性统计量。
2)使用aggregate、doby中的summaryBy对sleep数据集的group列分组获取描述性统计量。
2.频数表和列联表1)加载vcd包中的Arthritis数据集使用table生成简单的频数统计表。
2)使用table、xtabs对Arthritis生成二维列联表。
并使用addmargins为这些表格添加边际和(根据Treatment、Improved)。
3)使用xtabs,table生成三维列联表(根据Treatment、sex、Improved三个因子)。
4)使用chisq.testhan()函数对二维表的行和列进行卡方独立性检验,并观察他们是否独立。
5)使用vcd包中的assocstats()函数计算二维列联表的phi系数、列联系数和Cramer’s V系数。
3.相关1)Pearson、Spearman和Kendall相关a)对state.x77数据集计算方差和协方差、Pearson积差相关系数、Spearman等级相关系数。
b)使用psych包中的corr.test对state.x77数据集Illiteracy、Murder因子计算相关显著性检验4.T检验1)比较了南方(group 1)和非南方(group 0)各州的监禁概率(使用MASS包中的t.test独立样本的t检验,So因子为是否为南方,Prob因子表示监禁率)。
5.组间差异的非参数检验。
1)使用Mann–Whitney U检验回答4中关于监禁率的问题,。
三、实验要求通过本次实验让学生学会基本统计分析用到的频数表、列联表、相关、t检验、组间差异的分参数检验。
让学生可以掌握一些基本的统计分析的概念和如何用R来进行统计分析。