R语言基础题及答案——R语言与统计分析第三章课后习题(汤银才)
Posted slandarer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言基础题及答案——R语言与统计分析第三章课后习题(汤银才)相关的知识,希望对你有一定的参考价值。
R语言与统计分析第三章课后习题(汤银才)
题-1
从1到100个自然数中随机不放回地抽取5个数, 并求它们的和.
sum(sample(1:100,5))
15~490任何一个数都有可能
[1] 299
题-2
从一副扑克牌(52张)中随机抽5张,求下列概率
-
抽到的是10、J、Q、K、A;
-
抽到的是同花顺.
# 抽到的是10、J、Q、K、A
4^5/choose(52,5)
# 抽到的是同花顺
# 例如牌12345就只有12345一种同花顺
# 例如牌123456就有12345,23456两种同花顺
# 所以13种牌有13-5+1种同花顺
# 又因为有4种花色所以乘以4
4*(13-5+1)/choose(52,5)
[1] 0.0003940038
[1] 1.385169e-05
题-3
从正态分布N(100, 100)中随机产生1000个随机数,
-
作出这1000个正态随机数的直方图;
-
从这1000个随机数中随机有放回地抽取500个, 作出其直方图;
-
比较它们的样本均值与样本方差.
# 生成正态分布随机数序列
v<-rnorm(1000,mean=10,sd=10)
# 生成直方图
hist(v)
# 有放回抽取500个,再次制作直方图
v2=sample(v,500,replace=TRUE)
hist(v2)
# mean
mean(v)
mean(v2)
# sd
sd(v)
sd(v2)
[1] 10.10301
[1] 10.04473
[1] 9.882417
[1] 10.26341
题-4
模 拟 随 机 游 动: 从 标 准 正 态 分 布 中 产 生1000个 随 机 数, 并 用 函数cumsum( )作出累积和, 最后使用命令plot( ) 作出随机游动的示意图:
x<-cumsum(rnorm(500))
plot(x)
题-5
从标准正态分布中随机产生100个随机数, 由此数据求总体均值的95%置信区间, 并与理论值进行比较.
t.test(rnorm(100,mean=0,sd=1))
One Sample t-test
.
data: rnorm(100, mean = 0, sd = 1)
t = 0.55763, df = 99, p-value = 0.5784
alternative hypothesis: true mean is not equal to 0
95 percent confidence interval:
-0.1382050 0.2462497
sample estimates:
mean of x
0.05402239
题-6
用本章给出的函数limite.central( ), 从图形上验证当样本容量足够大时, 从贝塔分布Beta(1/2, 1/2) 抽取的样本的样本均值近似服从正态分布.
# 以下为课本提供的limite.central()函数
limite.central<-function(r=runif, distpar=c(0,1), m=.5, s=1/sqrt(12), n=c(1,3,10,30), N=1000) {
for(i in n){
if(length(distpar)==2){
x <- matrix(r(i*N, distpar[1], distpar[2]), nc=i)
}else{
x <- matrix(r(i*N, distpar), nc=i)
}
x<-(apply(x, 1, sum) - i*m )/(sqrt(i)*s)
hist(x, col='light blue', probability=T,main=paste("n=",i),
ylim=c(0,max(.4, density(x)$y)))
lines(density(x), col='red', lwd=3)
curve(dnorm(x), col='blue', lwd=3, lty=3, add=T)
if( N>100 ){
rug(sample(x,100))
}else{
rug(x)
}
}
}
# 调用函数验证
op <- par(mfrow=c(2,2))
# 这里均值用的默认值,其期望为a/(a+b),a=1/2,b=1/2正好是默认值0.5
# 标准差用的sqrt(0.125),是因为方差为:ab/(a+b+1)/(a+b)^2=0.125
limite.central(rbeta,distpar=c(1/2,1/2),n=c(1,3,5,10),s=sqrt(0.125))
par(op)
可以看出随着每组样本个数增加,其均值的分布越来越接近正态分布(蓝线)
题-7
-
使用rnorm( )抽取n=1000个标准正态随机数, 并在左侧区域画出相应 的直方图和核密度估计曲线;
-
用格子点离散化抽样方法完成抽样, 并在右侧区域画出相应的直方图和核密度估计曲线, 离散化所用的N=1000, n=1000, 取点范围为r=[4, 4]
# create and draw left
rn<-rnorm(1000,mean=0,sd=1)
op<-par(mfrow=c(1,2))
hist(rn,probability = T)
lines(density(rn),col='red',lwd=3)
# create right
N<-seq(-4,4,length=1000)
f<-function(x)dnorm(x)/sum(dnorm(x))
f1<-f(N)
result<-sample(N,replace=T,size=1000,prob=f1)
# draw right
hist(result,probability=T)
lines(density(result),col="red",lwd=3)
par(op)
以上是关于R语言基础题及答案——R语言与统计分析第三章课后习题(汤银才)的主要内容,如果未能解决你的问题,请参考以下文章
R语言基础题及答案——R语言与统计分析第四章课后习题(汤银才)
R语言基础题及答案——R语言与统计分析第二章课后习题(汤银才)
R语言基础题及答案——R语言与统计分析第四章课后习题(汤银才)
R语言基础题及答案——R语言与统计分析第二章课后习题(汤银才)