《R语言练习题.doc》由会员分享,可在线阅读,更多相关《R语言练习题.doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流R语言练习题【精品文档】第 7 页统计软件实验1每题需注意1命令代码2结果或图形3自己的错误1 y = y - sin(10*pi)*exp(-0.3+42)+log(23)/log(4)2 x = sin(223/3), y = x2,z = y*10 ;求x+2y-5zx - sin(223/3);y - x2;x+2*y-5*z3 建立起始值=3,增量值=5.5,终止值=44的一维数组x x - seq(3.47,by=5.5)4 建立等差一维数组x:首项为0,末项为,项数为15 x - seq(0,pi,length=15)5 将100,200,
2、200,200,400,600,600,600,800 输入R中,保存到numeric变量中numeric - c(100,200,200,200,400,600,600,600,800)6 将numeric转换为factor存入变量factor.numeric,并用class()确认。factor.numeric - as.factor(numeric)7 查看factor.numeric的内容factor.numeric8 创建一个2到50的向量,形式为 2, 4, 6, 8, ., 48, 50并名为为vector1vector1 4013创建向量1 2 3 4 5 1 2 3 4 5
3、1 2 3 4 5 1 2 3 4 5 1 2 3 4 5rep(1:5,5)14使用rep()创建向量0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4rep(0:4,rep(5,5)15 用函数rep()构造一个向量x,它由3个3,4个2,5个1构成x=c(rep(3,3),rep(2,4),rep(1,5)统计软件实验2每题需注意1命令代码2结果或图形3自己的错误1计算行列式的值 A=det(matrix(c(3,4,7,2,2,8,3,6,1),nrow=3)2 矩阵,矩阵;求出A x B及A与B中对应元素之间的乘积A=matrix(c(
4、3,4,7,2,2,8,3,6,1),nrow=3);B=matrix(rep(1:3,3),nrow=3);A%*%B;A*B3由1,2,.,16构成两个方阵,其中矩阵按列输入,矩阵按行输入,并计算C=A+B,D=ABA=matrix(1:16,nrow=4);B=matrix(1:16,nrow=4,byrow=T);C=A+B;D=A%*%B4先复制附录数据至文本文档,然后读取数据至文件datadata - read.table(D:/t.data.txt,header = T)5 比值的计算weight和height的平方的比值存入bmi变量 bmi - weight/height2;
5、detach(data)6 创建对象x, 其值为1:10, 使用write函数将其写入文件x.txt;删除x, 然后再读入该文件并赋值给x,并保证 x是 numericx - 1:10write.table(x,file = x.txt);rm(x);xx - read.table(x.txt,header=T);xclass(x);x - as.numeric(x$x);x7 查看mtcars数据(mtcars回车);把vs变量所在列的元素全都改成你的“学号后两位”(mtcars$vs-7);把mtcars存为mtcars.csv文件;读入mtcars.csv文件存入mtcarsnew;Mt
6、carsMtcars$vs-学号后两位mtcarsnew-read.csv()8 把mtcars转换成矩阵mm并判断数据类型;把第六行改成你的“学号后两位”;取矩阵mm前11行存入变量mtcars11;取mtcars11的主对角线的元素,构成主对角阵mt;取mtcars11的上三角阵存入mtupper;(需要通过网络搜索学习上三角矩阵定义)mm-as.matrix(mtcars);class(mm)mm6,-学号后两位mtcars11(mtcars11-head(mtcars,11)mt(mt-diag(diag(mtcars11)mtupper(xlower.tri(x)-0;mtupper
7、-x)xlower.tri(x)-0lower.tri(x,diag=FALSExupper.tri(x)-0upper.tri(x,diag=FALSE)9把mtupper的行名和列名改为NULL。rownames(mtupper)-NULLcolnames(mtupper)-NULLrownames(mtupper)-NULLcolnames(mtupper)-NULLrownames(mtupper)-NULLcolnames(mtupper)-NULLrownames(mtupper)-NULLcolnames(mtupper)-NULL10. mtupper每一行求和,存入mtsum
8、。mtsum-apply(mtupper,MARGIN=1,FUN=sum)附录:数据:1 身高体重数据weight height4.17 1.755.58 1.85.18 1.656.11 1.94.5 1.744.61 1.915.17 1.754.53 1.85.33 1.655.14 1.94.81 1.744.17 1.914.41 1.753.59 1.85.87 1.653.83 1.96.03 1.744.89 1.914.32 1.754.69 1.8统计软件实验31 数据的读取(数据见附录) data-read.table(路径/t.data.txt,header=T)2
9、绘图 plot(height, weight) # 绘图3 更改绘图的参数的取值例如:plot(height, weight, pch=2) #更改后的绘图5.根据cityrain数据作图。令Y轴范围(0,300),xaxt=n,type=b,颜色为黑,X轴标题为“Month”,Y轴标题为“Tokyo Rainfall(mm)”,主标题“Monthly Rainfall in major cities”。用axis()函数添加X轴,使在X轴1到12的位置分别对应12个月份。rain - read.csv(cityrain.csv)plot(rain$Tokyo,type = b,xaxt=n,
10、ylim=c(0,300),col=black,xlab=Month,ylab=Rainfall(mm),main=Monthly Rainfall in major cities)axis(1,at=1:12,labels = rain$Month)4. 在0,4pi画sin(x),cos(x)(在同一个图象中); 其中sin(x)和cos(x)图象用不同的颜色和形状表示,并在函数图上适当的位置标注 “箭头+y=sin(x)”, “箭头+y=cos(x)” ,标记x轴,y轴,标题为“正弦余弦函数图象”.plot(sin,0,4*pi,main=正弦余弦函数图像,xlab=x轴,ylab=y轴
11、,col=red,type=b,pch=18)curve(cos,0,4*pi,col=blue,type=b,pch=1,add=T)arrows(3.3,0.8,2.3,0.8)text(3.8,0.8,sin(x)arrows(10.8,0.8,11.8,0.8)text(10,0.8,cos(x)例如:附录:数据:1 身高体重数据weight height4.17 1.755.58 1.85.18 1.656.11 1.94.5 1.744.61 1.915.17 1.754.53 1.85.33 1.655.14 1.94.81 1.744.17 1.914.41 1.753.59
12、1.85.87 1.653.83 1.96.03 1.744.89 1.914.32 1.754.69 1.8统计软件实验41使用三种循环,输出向量1:100中所有数据。for (I in 1:100) print(I)while (i=100) sum - sum+ii - i+1 print(sum)repeat if(i%2!=0)sum - sum+i i 100)break print(sum)2使用while循环求1+2+3+100的和。 i - 1sum - 0while(i=100) sum- sum+1 i - i+1print(sum)3使用repeat循环求1至100之间
13、的奇数和。 i - 1sum - 0while(i=100) sum- sum+1 i - i+1print(sum)4使用for循环输出1至100之间的能够被3或5整除的数,并求和。 sum - 0for(i in 1:100) if(i%3=0|i%5=0) print(i) sum - sum+iprint(sum)5定义一个长度为100、mean=1,sd=1的正态分布随机向量,并找出该向量的最小值及其出现的位置。 rnorm(n,mean,sd),种子设为123 set.seed(123)norm - rnorm(100,1,1)min.norm - 100for(i in 1:100) if(normi=min.norm) min.norm=normi min.count=icat(min.norm,min.count)6找出100次产生的长度为100、mean=1,sd=1的正态分布随机向量的最小值与出现位置的关系。(用plot(min.count,min.norm)表示,其中min.count为位置向量,min.norm为最小值向量)for(i in 1:100) norm - rnorm(100,1,1) min.normi - 100 for(i in 1:100) if(normi0)|(x0)|(x0)
限制150内