在 R 中投掷 3 个公平的硬币
Tossing 3 fair coins in R
X = # of heads showing when three coins are tossed.
Find P(X=1), and E(X).
说,我想在 R 中使用 sample()
和 replicate()
函数来解决这个问题,即使有一个名为 rbinom()
.
的函数
我的尝试:
noOfCoinTosses = 3;
noOfExperiments = 5;
mySamples <-replicate(noOfExperiments,
{mySamples <- sample(c("H", "T"), noOfCoinTosses, replace = T, prob=c(0.5, 0.5))
})
headCount = length(which(mySamples=="H"))
probOfCoinToss <- headCount / noOfExperiments # 1.6
meanOfCoinToss = ??
关于 P(X),我的方向是否正确?如果是,我如何找到 E(X)?
mySamples
中的结果按列存储实验,因此您必须计算每个列的 head 出现次数。概率就是实验的频率/nr,而在这种情况下的平均值是频率:
noOfCoinTosses = 3;
noOfExperiments = 5;
mySamples <-replicate(noOfExperiments,
{mySamples <- sample(c("H", "T"), noOfCoinTosses, replace = T, prob=c(0.5, 0.5))
})
headCount <- apply(mySamples,2, function(x) length(which(x=="H")))
probOfCoinToss <- length(which(headCount==1)) / noOfExperiments # 1.6
meanOfCoinToss <- length(which(headCount==1))
当你想计算一个真实的平均值时,你可以将其放入一个函数中并复制 n
次。然后均值将成为复制的平均值meanOfCoinToss
X = # of heads showing when three coins are tossed.
Find P(X=1), and E(X).
说,我想在 R 中使用 sample()
和 replicate()
函数来解决这个问题,即使有一个名为 rbinom()
.
我的尝试:
noOfCoinTosses = 3;
noOfExperiments = 5;
mySamples <-replicate(noOfExperiments,
{mySamples <- sample(c("H", "T"), noOfCoinTosses, replace = T, prob=c(0.5, 0.5))
})
headCount = length(which(mySamples=="H"))
probOfCoinToss <- headCount / noOfExperiments # 1.6
meanOfCoinToss = ??
关于 P(X),我的方向是否正确?如果是,我如何找到 E(X)?
mySamples
中的结果按列存储实验,因此您必须计算每个列的 head 出现次数。概率就是实验的频率/nr,而在这种情况下的平均值是频率:
noOfCoinTosses = 3;
noOfExperiments = 5;
mySamples <-replicate(noOfExperiments,
{mySamples <- sample(c("H", "T"), noOfCoinTosses, replace = T, prob=c(0.5, 0.5))
})
headCount <- apply(mySamples,2, function(x) length(which(x=="H")))
probOfCoinToss <- length(which(headCount==1)) / noOfExperiments # 1.6
meanOfCoinToss <- length(which(headCount==1))
当你想计算一个真实的平均值时,你可以将其放入一个函数中并复制 n
次。然后均值将成为复制的平均值meanOfCoinToss