【发布时间】:2013-08-18 23:35:09
【问题描述】:
我是一名 C++ 程序员,而且我是 R 新手。有人告诉我,在 R 中使用 for 循环是个坏主意,最好使用 sapply。我写了以下代码来计算birthday coincidence的概率:
prob <- 1 # prob of no coincidence
days <- 365
k <- 50 # how many people
probability <- numeric() #probability vector (empty right now)
for(i in 1:k){
prob <- (days - i + 1)/days * prob # Formula for no coincidence
probability[i] <- 1 - prob
}
我怎样才能用sapply 做同样的事情?我想做类似的事情:
1 - sapply(1:length(m), function(x) prod(m[1:x]))
但是如何使用公式来确定生日不重合呢?
【问题讨论】:
-
m从未定义。它应该是什么? -
永远提防“某人”。他满脑子都是想法,但往往没有可靠的出处。
-
@CarlWitthoft 谢谢 :)