R语言总和性试验
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4、 模拟随机游动:从标准正态分布中产生 1000 个随机数,并用函数 cumsum()作 出累积和,最后使用命令 plot()作出随机游动示意图 > rnorm(1000,mean=0,sd=1) //产生 1000 个标准正态分布随机数 cumsum(rnorm(1000,mean=0,sd=1)) //累积和 plot(cumsum(rnorm(1000,mean=0,sd=1))) //随机执行产生随机游动图
5、 编写一个用二分法求解非线性方程的根的函数, 并求方程 x^3-x-1=0 在区间[1,2] 内的根,精度要求 e=10^-5. 程序: fzero<-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) b<-x else a<-x} list(root=(a+b)/2,fun=f(x))}} > f<-function(x) x^3-x-1 > fzero(f,1,2,1e-5) $root [1] 1.324718 $fun [1] -1.405875e-05 第三章: 1、 从 1 到 100 个自然数中随机不放回的抽取 5 个数,并求它们的和。 > sum(sample(1:100,5)) [1] 205 2、 从一副扑克牌(52 张)中随机抽取 5 张求以下概率 抽到的是 10,J,Q,K,A; (1)> 4/choose(52,5) [1] 1.539077e-06 抽到的是同花顺 (2)9*choose(4,1)/choose(52,5) [1] 1.385169e-05 3、 从正态分布 N(100,100)中随机产生 1000 个随机数, (1)rnorm(1000,mean=100,sd=10) 结果随机执行//产生 1000 个随机数 作出这 1000 个正态随机数的直方图; hist( rnorm(1000,mean=100,sd=10)) 结果随机执行//产生对应直方图
2、 用命令 rnorm()命令产生 1000 个均值为 10,方差为 4 的正态分布随机数,用直 方图呈现数据分布并添加核密度曲线; > x=rnorm(1000,mean=10,sd=2)%生成正态分布随机数 > hist(x,xlim=c(min(x),max(x)),probability=T,nclass=max(x)-min(x)+1, col='lightblue',main='Normal distribution,mean=10,sd=2')%绘制直方图
中北大学理学院
实验报告
实验课程名称: 实 验 类 别: 专 班 学 姓 业: 级: 号: 名:
R 语言与统计分析 验证型 应用统计学 13080441 1308044142 吴庚雷
中北大学理学院
R 语言与统计分析综合实验 【实验类型】验证性 【实验目的】
(1)掌握利用 R 语言实现数据处理并进行严格的统计分析; (2)学会运用 R 语言进行程序的编写; (3)熟练掌握 R 语言绘图功能; (4)掌握 R 语言统计分析中的“参数估计” , “假设检验” , “方差分析” , “回 归分析” , 等基本分析函数。
【实验内容】
第二章: 1、 用 rep()构造一个向量 x,它由 3 个 3,4 个 2,5 个 1 构成。 x<-rep(c(3,2,1),c(3,4,5)) 2、 由 1.2...16 构成两个方阵,其中矩阵 A 按列输入,矩阵 B 按行输入,并计算以 下: A<-matrix(1:16,4,4)
【实验要求】
(1)实验过程要求用 R 软件完成; (2)实验结果逐个导入 Word 文档,并按问题作出解释; (3)实验报告按照既定格式书写。
【实验仪器与软件平台】
计算机 R软件
【实验前的预备知识】
1、实验室电脑要求安装有 R 软件; 2、上实验课程的学生要对涉及到的统计概念有所了解; 3、要求学生事先查阅并熟悉R的相关命令。
根据数据绘制出茎叶图和框须图; > stem(x)%绘制茎叶图 The decimal point is at the | 68 | 344 70 | 16889937 72 | 0112233667902334556777789 74 | 0012244556688990023588 76 | 001223667779011234459 78 | 000255790158 80 | 2378906 82 | 20 > boxplot(x)%绘制框须图
(2)、绘制不同性别下体重对身高的散点图; > mydata<-read.delim("clipboard") > coplot(mydata$height~mydata$weight|mydata$性别,xlab="weight",ylab= " height")
(3)、绘制不同年龄段体重对身高的散点图; > mydata<-read.delim("clipboard") > coplot(mydata$height~mydata$weight|mydata$年龄,xlab="weight",ylab= " height")
B<-matrix(1:16,4,4,byrow=TRUE)
1、 C=A+B
2、 > D=A*B
3、 > E=A%*%B
4、 F<-A[-3,] [,1] [,2] [,3] [,4] [1,] 1 5 9 [2,] 2 6 10 [3,] 4 8 12
13 14 16
> G<-B[,-3] [,1] [,2] [,3] [1,] 1 2 [2,] 5 6 [3,] 9 10 [4,] 13 14 > H=F%*%G
> lines(density(x,bw=1),col='red',lwd=3)%添加核密度曲线
> qqnorm(x,main="Normality Check via QQ Plot") > qqline(x,col='red')%绘制 QQ 图
> qqline(x,col='red')%绘制 QQ 图
Байду номын сангаас
从这 1000 个随机数中随机有放回的抽取 500 个作出直方图 (2)> A<- rnorm(1000,mean=100,sd=10) > sample(A,500,replace=TRUE) 或者 sample(rnorm(1000,mean=100,sd=10),500) 结果随机执行//产生 500 个对应随机数 > hist(sample(A,500,replace=TRUE)) 结果随机执行//产生对应直方图
(4)、绘制不同性别下不同年龄段体重对身高的散点图; > mydata<-read.delim("clipboard") > coplot(mydata$height~mydata$weight|mydata$性别*mydata$年龄,xlab="w ei ght",ylab="height")
第五章: 1、 设总体 X 是用无线电测距仪测量距离的误差, 它服从 (A,B) 上的均匀分布在 200 次测量中,误差 Xi 的次数有 ni 次:求 A,B 的矩法估计值; > x<-rep(c(3,5,7,9,11,13,15,17,19,21),c(21,16,15,26,22,14,21,22,18,2 5))%读入数据 > a<-2*mean(x) > b<-12*var(x) > z=b/a > A<-(a-z)/2%A 的矩估计值 A=4.035345 > B<-(a-A)%B 的矩估计值 B=20.58466 2、为检验某自来水消毒设备的效果,从消毒后的水中随机抽取 50L,化验每 L 水中大肠杆菌的个数(假设其服从泊松分布),化验结果如表中所示,试问平 均每升水中大肠杆菌的个数为多少时,才能使上述情况概率达到最大; > x<-rep(c(0,1,2,3,4,5,6),c(17,20,10,2,1,0,0))%读取数据 > lambda<-mean(x)%定义泊松分布的矩估计 > lambda%输出矩估计值 [1]1
5、 从标准正态分布中随机产生 100 个随机数, 由此数据求总体均值的 95%的置信区 间 t.test(rnorm(100,mean=0,sd=1)) //t.test(c(数据))专用于求出 95%的置信区间 结果如下: One Sample t-test data: rnorm(100, mean = 0, sd = 1) t = 0.31167, df = 99, p-value = 0.7559 alternative hypothesis: true mean is not equal to 0 95 percent confidence interval: -0.1638460 0.2249099 sample estimates: mean of x 0.03053192 第四章: 1、模拟得到 1000 个参数为 0.3 的伯努利分布随机数,并用图示表示出来 > plot(rbinom(1000,1,0.3))
4 8 12 16
3、 函数 solve()有两个作用;solve(A,b)可用于求解线性方程组 Ax=b,solve(A) 可用于求解矩阵 A 的逆,用两种方法编程求解方程组 Ax=b 的解。 A<-matrix(1:9,3,3,byrow=TRUE) > A[3,3]=10
> b=matrix(1:1,3,1) > solve(A,b) [,1] [1,] -1.000000e+00 [2,] 1.000000e+00 [3,] 3.806634e-16 4、 用三种方法求解它们的內积与外积。 1、 > x=c(1,2,3,4,5) > y=c(2,4,6,8,10) > a=t(x)%*%y e=x%*%t(y) 2、 > b=crossprod(x,y) > > f=outer(x,y) 3、 > c=x%*%y > d=x%o%y
> sd(x)%标准差 [1] 3.338 绘制出直方图,核密度估计曲线,和 QQ 图; > hist(x,xlim=c(min(x),max(x)),probability=T,nclass=max(x)-min(x)+1, col='lightgreen',main='Normal distrubution,mean=75,sd=3')%绘制直方图
8、 某校测得 20 名学生的 4 项指标:性别,年龄,身高,体重,具体数据如课本表 4.1 所示: (1)、绘制体重对身高的散点图; > mydata<-read.delim("clipboard") > plot(mydata$height~mydata$weight,xlab="Weight",ylab="height") > lines(lowess(mydata$height,mydata$weight),lwd=2)
比较它们的样本均值和样本方差 (3)> mean(rnorm(1000,mean=100,sd=10)) [1] 100.0266 > var(rnorm(1000,mean=100,sd=10)) [1] 98.5499 > mean( sample(rnorm(1000,mean=100,sd=10),500)) [1] 99.9142 > var( sample(rnorm(1000,mean=100,sd=10),500)) [1] 106.2611
>lines(density(x,bw=1),col='red',lwd=3)%添加核密度曲线
7、 假定某校 100 名女生的血清总蛋白含量服从均值为 75,标准差为 3 的分布,并 假定数据由下面命令产生: > options(digits=4) > x=rnorm(100,75,3)%生成随机数 计算样本均值,标准差,以及五数概括; > summary(x)%计算均值和五数 Min. 1st Qu. Median Mean 3rd Qu. Max. 65.7 72.4 74.2 74.7 76.7 82.3