R语言习题.doc_第1页
R语言习题.doc_第2页
R语言习题.doc_第3页
R语言习题.doc_第4页
R语言习题.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

。一组学生参加了数学、科学和英语考试。为了给所有的学生确定一个单一的成绩衡量指标,需要将这些科目的成绩组合起来。另外,还想将前20%的学生评定为A,接下来20%的学生评定为B,以此类推。最后,希望按字母顺序对学生排序。Excel中的数据表StuIdStuNameMathScienceEnglish1John Davis50295252Angela Williams46567123Bull Jones62178224Cheryl Cushing57566185Reuven Ytzrhak45496156Joel Knox63489307Mary Rayburn57678378Greg England42156129Brad Tmac599682210Tracy Mcgrady666100381:输入数据R语言导入xlsxinstall.packages(xlsx)library(xlsx)workbookStuScoreStuScore2:数据预处理将变量进行标准化 options(digits=2)#限定为2位小数 afterscale afterscale Math Science English 1, -0.58 1.040 0.20 2, -1.02 -0.815 -1.17 3, 0.82 -0.086 -0.12 4, 0.28 -0.881 -0.54 5, -1.15 1.106 -0.86 6, 0.98 0.643 0.73 7, 0.29 -0.086 1.47 8, -1.54 -1.544 -1.17 9, 0.56 -0.749 -0.12 10, 1.35 1.372 1.57attr(,scaled:center) Math Science English 551 79 23 attr(,scaled:scale) Math Science English 84.7 15.1 9.53:通过函数mean()来计算各行的均值以及获得综合得分,并使用cbind()将其添加到花名册中 #3在afterscale中计算标准差均值,并将其添加到StuScore score StuScore StuScore StuId StuName Math Science English score1 1 John Davis 502 95 25 0.222 2 Angela Williams 465 67 12 -1.003 3 Bull Jones 621 78 22 0.214 4 Cheryl Cushing 575 66 18 -0.385 5 Reuven Ytzrhak 454 96 15 -0.306 6 Joel Knox 634 89 30 0.787 7 Mary Rayburn 576 78 37 0.568 8 Greg England 421 56 12 -1.429 9 Brad Tmac 599 68 22 -0.1010 10 Tracy Mcgrady 666 100 38 1.434:函数quantile()给出学生综合得分的百分位数quantile(x,probs):求分位数,其中x为待求分位数的数值型向量,probs为一个由0,1之间的概率值组成的数值向量 afterquantile afterquantile 80% 60% 40% 20% 0.60 0.21 -0.18 -0.505:使用逻辑运算符,把score转为等级(离散型) StuScore$gradescore=afterquantile1 StuScore$gradescore=afterquantile2 StuScore$gradescore=afterquantile3 StuScore$gradescore=afterquantile4 StuScore$gradescoreafterquantile4 StuScore StuId StuName Math Science English score grade1 1 John Davis 502 95 25 0.22 B2 2 Angela Williams 465 67 12 -1.00 E3 3 Bull Jones 621 78 22 0.21 B4 4 Cheryl Cushing 575 66 18 -0.38 E5 5 Reuven Ytzrhak 454 96 15 -0.30 E6 6 Joel Knox 634 89 30 0.78 B7 7 Mary Rayburn 576 78 37 0.56 B8 8 Greg England 421 56 12 -1.42 E9 9 Brad Tmac 599 68 22 -0.10 E10 10 Tracy Mcgrady 666 100 38 1.43 B6:使用strsplit()以空格为界把学生姓名拆分为姓氏和名字 StuScore$StuName is.character(StuScore$StuName)1 TRUE name name11 John Davis21 Angela Williams31 Bull Jones41 Cheryl Cushing51 Reuven Ytzrhak61 Joel Knox71 Mary Rayburn81 Greg England 91 Brad Tmac101 Tracy Mcgrady7:把name分成Firstname和LastName,加入到StuScore中 FirstName LastName StuScore StuScore FirstName LastName LastName StuName Math Science English score grade1 John Davis Davis John Davis 502 95 25 0.22 B2 Angela Williams Williams Angela Williams 465 67 12 -1.00 E3 Bull Jones Jones Bull Jones 621 78 22 0.21 B4 Cheryl Cushing Cushing Cheryl Cushing 575 66 18 -0.38 E5 Reuven Ytzrhak Ytzrhak Reuven Ytzrhak 454 96 15 -0.30 E6 Joel Knox Knox Joel Knox 634 89 30 0.78 B7 Mary Rayburn Rayburn Mary Rayburn 576 78 37 0.56 B8 Greg England England Greg England 421 56 12 -1.42 E9 Brad Tmac Tmac Brad Tmac 599 68 22 -0.10 E10 Tracy Mcgrady Mcgrady Tracy Mcgrady 666 100 38 1.43 B8:order排序 StuScoreorder(LastName,FirstName), FirstName LastName LastName StuName Math Science English score grade4 Cheryl Cushing Cushing Cheryl Cushing 575 66 18 -0.38 E1 John Davis Davis John Davis 502 95 25 0.22 B8 Greg England England Greg England 421 56 12 -1.42 E3 Bull Jones Jones Bull Jones 621 78 22 0.21 B6 Joel Knox Knox Joel Knox 634 89 30 0.78 B10 Tracy Mcgrady Mcgrady Tracy Mcgrady 666 100 38 1.43 B7 Mary Rayburn Rayburn Mary Rayburn 576 78 37 0.56 B9 Brad Tmac Tmac Brad Tmac 599 68 22 -0.10 E2 Angela Williams Williams Angela Williams 465 67 12 -1.00 E5 Reuven Ytzrhak Ytzrhak Reuven Ytzrhak 454 96 15 -0.30 E9:为StuScore绘制分组条形图install.packages(vcd)library(vcd)fill_colors-c() #不同的等级,不同的颜色显示for(i in 1:length(StuScore$Science)if(StuScore$Sciencei=100) fill_colors-c(fill_colors,red)else if(StuScore$Sciencei=80) fill_colors-c(fill_colors,yellow) else if(StuScore$Sciencei=60) fill_colors-c(fill_colors,blue) else fill_colors-c(fill_colors,green) barplot(StuScore$Science, #条形图 main=Science Score, xlab=Name,ylab=ScienceScore, col=fill_colors, names.arg=(paste(substr(FirstName,1,1),.,LastName), #设定横坐标名称 border=NA, #条形框不设置边界线 font.main=4, font.lab=3, beside=TRUE) legend(x=8.8,y=100, #左上角点的坐标 cex=.8, #缩放比例 inset=5, c(Excellent,Good,Ordinary,Bad), pch=c(15,16,17,19), #图例中的符号 col=c(red,yellow,blue,green), bg=#821122, #背景色 xpd=TRUE, #可以在绘图区之外显示 text.font=8, text.width=.8, text.col=c(red,yellow,blue,green)10:现有6名患者的身高和体重,检验体重除以身高的平方是否等于22.5.编号123456身高m1.751.801.651.901.741.91体重kg607257909572height-c(1.75,1.80,1.65,1.90,1.74,1.91)weight-c(60,72,57,90,95,72)sq.height-height2ratio-weight/sq.heightt.test(ratio,mu=22.5) #t检验11:将三种不同菌型的伤寒病毒a,b,c分别接种于100,9,11只小白鼠上,观察其存活天数,问三种菌型下小白鼠的平均存活天数是否有显著差异。a菌株:2,4,3,2,4,7,7,2,5,4b菌株:5,6,8,5,10,7,12,6,6c菌株:7,11,6,6,7,9,5,10,6,3,10准备数据表,day和type各位一列。#数据读取,将test.txt中的内容保存到bac中,header=T表示保留标题行。bac-read.table(“D:/anova.data.txt”,header=T)#将ba数据框中的type转换为因子(factor)bac$type-as.factor(bac$type)ba.an n=c(1:50) a=2n b=n2 x=a-b nx=01 2 4 sum(x=0)1 2 n!(x0)|(x sum(!(x0)|(x A=seq(0,2*pi,0.1) for(x in A)+ if(sin(x)/cos(x)=tan(x)+ print(x)1 01 0.41 0.51 0.81 1.41 1.61 1.71 1.81 1.91 21 2.11 2.31 2.41 2.51 2.71 2.81 2.91 31 3.11 3.21 3.31 3.41 3.61 3.71 3.81 41 4.11 4.21 4.51 4.61 4.81 4.91 51 5.11 5.21 5.31 5.41 5.51 5.71 5.81 61 6.11 6.2 x=seq(from=0,to=2*pi,by=0.1) s=sin(x) c=cos(x) t=tan(x) d=s/c-t xmd=abs(d)1 4.7 xd=0 1 0.0 0.4 0.5 0.8 1.4 1.6 1.7 1.8 1.9 2.0 2.1 2.3 2.4 2.5 2.7 2.8 2.9 3.019 3.1 3.2 3.3 3.4 3.6 3.7 3.8 4.0 4.1 4.2 4.5 4.6 4.8 4.9 5.0 5.1 5.2 5.337 5.4 5.5 5.7 5.8 6.0 6.1 6.214: Use the R help routines (not the manuals) to find out how to use the functions floor, trunc, round, ceiling, and what they do. Predict what each of these functions will give as an answer for the numbers -3.7 and +3.8. Use R to test your predictions.ceiling 向上取整floor 向下取整trunc 截尾取整round 按所保留的小数点位数四舍五入signif 按所需的有效数位数四舍五入 ceiling(-3.7)1 -3 ceiling(-3.3)1 -3 ceiling(3.1)1 4 floor(-3.7)1 -4 floor(3.8)1 3 trunc(-3.7)1 -3 trunc(-3.3)1 -3 trunc(3.8)1 3 round(-3.7)1 -4 round(3.8)1 4 round(-3.74,digits=1)1 -3.7 round(-3.79,digits=1)1 -3.8 round(3.89,digits=1)1 3.9 round(3.84,digits=1)1 3.8 signif(-3.7)1 -3.7 signif(3.8)1 3.8 signif(3.8,digits=2)1 3.8 signif(-3.7,digits=1)1 -4 signif(-3.3,digits=1)1 -3 signif(3.1,digits=1)1 3 signif(3.8,digits=1)1 415:编写函数定义函数:rcal-function(x,y) Z-x2+y2;Result-sqrt(z);Result;调用函数:Rcal(3,4)16:在原有图形上添加元素X-rnorm(100) #生成随机数Hist(x,freq=F) #绘制直方图Curve(dnom(x),add=T) #添加曲线H-hist(x,plot=F) #绘制直方图Ylim-range(0,h$density,dnorm(0) #设定纵轴的取值范围Hist(x,freq=F,ylim=ylim) #绘制直方图Curve(dnorm(x),add=T,col=”red”) #添加曲线17:生成0到2之间的50个随机数,分别命名为x,yX-runif(50,0,2)Y-runif(50,0,2)绘图:将主标题命名为“散点图”,横轴命名为“横坐标”,纵轴命名为“纵坐标”Plo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论