这就是我所做的。我需要5个随机数,所以第一个命令没问题。之后,我想要概率公式,但我无法正确编写。 我需要找到五个随机数中每一个的概率。之后我需要找到从1到89的所有n个数字的概率,并在这里做一个像这样的图形..
答案 0 :(得分:2)
prod(1:365)
(例如,365!)评估为Inf
,因此无效。相反,使用这个:
b <- function(n) 1 - prod(365:(365-(n-1))/365)
这利用了两个事实:
所以结果与:prod(1,364 / 365,363 / 365,...,(365-(n-1))/ 365))相同。这个产品是可以计算的。
但还有一个问题:在plot(...)
中使用此函数必须“向量化”,即必须将向量作为参数并返回与结果相同长度的向量。为此,请使用R。
Vectorize(...)
功能
b <- Vectorize(function(n) 1 - prod(365:(365-(n-1))/365))
现在您可以使用plot(...)
plot(1:89,b(1:89), type="l")
答案 1 :(得分:0)
你的函数中有一个额外的括号,应该是
b <- function(n){
x<- prod(1:365)
P <- ((x)/(365^n)*(prod(1:365-n)))
Pn <- 1-P
}