1

一、投掷一枚不均匀硬币1000次,硬币正面朝上的概率为0.6,编写R代码模拟计算出现正面次数小于等于600次的概率。

val = 0 # 有效次数
cnt = 0 # 总次数

while (cnt <= 100000) {
    res = sample(x=c(0,1), prob=c(0.4,0.6),size = 1000, replace = TRUE)
    if(sum(res) <= 600) {
        val = val + 1
    }
    cnt = cnt + 1
}
print( val / cnt )

2

二、坛子中有8个红球与4个白球,我们无放回地取出两个球,假定球的质量不同,每个红球的质量为10克,每个白球的质量为15克,假设每次抽到一给定球的概率是其质量除以当时坛子中球的总质量,编写R代码模拟计算两次取出的都为红球的概率?

val = 0 # 有效次数
cnt = 0 # 总次数
while (cnt <= 100000) {
    num_red = 8
    num_white = 4
    wt = 10 * num_red + 15 * num_white
    res1 = sample(x = c(0,1), prob = c(15*num_white / wt, 10*num_red / wt), size = 1, replace = TRUE)
    if(res1[1]==1){
        wt = wt - 10
        num_red = num_red - 1
    } else {
        wt = wt - 15
        num_white = num_white - 1
    }
    res2 = sample(x = c(0,1), prob = c(15*num_white / wt, 10*num_red / wt), size = 1, replace = TRUE)
    if(res1 + res2 == 2) {
        val = val + 1
    }
    cnt = cnt + 1
}
print( val / cnt )  

3

三、编写R代码随机生成10000个服从均值为0.2的指数分布的随机数,并画出这组数据的直方图(含核密度曲线)、箱线图,同时计算这组随机数的均值,方差、最大值、最小值。

set.seed(time(0))
res=rexp(10000, 0.2)
hist(res,freq = FALSE)     # 直方图
lines(density(res),col=14) # 核密度线
boxplot(res)               # 箱线图
mean(res)                  # 均值
var(res)                   # 方差
max(res)                   # 最大值
min(res)                   # 最小值

4

四、区间估计:编写R代码计算两个独立正态分布方差比值的0.95的置信区间(可用rnorm函数生成具有不同方差的样本数据)。

x=rnorm(20,0,4) # 个数 10 ,均值 0 ,方差 4 
y=rnorm(20,0,2) # 个数 20 ,均值 0 ,方差 2 
nx=length(x)
ny=length(y)
print((var(x)/var(y)) / qf(00.975,nx-1,ny-1))
print((var(x)/var(y)) / qf(0.025,nx-1,ny-1))

5

五、分别编写R代码(不用t.test函数)和用t.test函数完成第八章习题7的假设检验。

x = c(6,4,5,5,6,5,5,6,4,6,7,4)
y = c(2,1,2,2,1,0,3,2,1,0,1,3)
alpha = 0.05
nx = length(x); ny = length(y)    # 数量
ave_x = mean(x); ave_y = mean(y)  # 均值
sx = var(x); sy = var(y)          # 方差
sw = ((nx - 1) * sx + (ny - 1) * sy) / (nx + ny - 2)
t = (ave_x - ave_y - 2) / sqrt(sw) / sqrt(1 / nx + 1 / ny)
print(t >= qt(alpha, nx + ny - 2, lower.tail = FALSE))     # 结果

t.test(x, y, alternative = "greater", mu = 2)