我是一名 C++ 程序员,而且我是 R 新手。有人告诉我,在 R 中使用 for 循环是个坏主意,最好使用sapply
. 我编写了以下代码来计算生日巧合的概率:
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]))
但是如何使用公式来确定生日不重合呢?