用R语言模拟如下情况:有一个坛子,其中红黄蓝三种球分别有3,6,9个,问题(1)有放回抽6个,随机变量Xi表示第i种颜色球的个数,模拟(X1,X2,X3)的值。 问题(2)抽取方式改为“无放回”,给出模拟方法。
时间: 2024-05-09 22:14:51 浏览: 57
问题(1)可以用以下R代码模拟:
```
set.seed(123)
n <- 6
balls <- c(rep("red", 3), rep("yellow", 6), rep("blue", 9))
sample_balls <- sample(balls, n, replace = TRUE)
X1 <- sum(sample_balls == "red")
X2 <- sum(sample_balls == "yellow")
X3 <- sum(sample_balls == "blue")
c(X1, X2, X3)
```
这段代码中,我们先设定随机数种子为123,抽取6个球,并将红、黄、蓝三种球的数量分别设为3、6、9。将球的颜色存储在`balls`向量中,然后使用`sample`函数从`balls`中有放回地随机抽取$n$个球。最后,使用`sum`函数统计三种颜色球的个数,即可得到模拟结果。
问题(2)可以用以下R代码模拟:
```
set.seed(123)
n <- 6
balls <- c(rep("red", 3), rep("yellow", 6), rep("blue", 9))
sample_balls <- sample(balls, n, replace = FALSE)
X1 <- sum(sample_balls == "red")
X2 <- sum(sample_balls == "yellow")
X3 <- sum(sample_balls == "blue")
c(X1, X2, X3)
```
这段代码与问题(1)的主要区别在于抽取时使用了`replace = FALSE`,即无放回抽样。其他部分与问题(1)的代码相同。
阅读全文