Nothing
library(randtoolbox)
#compare two implementations
f <- function(n)
{
res <- numeric(n+1)
res[1:2] <- c(0,1)
for(i in 1:(n-1))
{
# i <- 1
k <- 1:(i+1) -1
res[1:(i+2)] <- c(k * res[1:(i+1)], 0) + c(0, res[1:(i+1)])
}
res
}
g <- function(n)
{
if( n == 0)
res <- 1
if(n > 0)
res <- c(0,1)
if(n > 1)
{
for(i in 1:(n-1))
{
k <- 1:length(res) -1
res <- c(k * res, 0) + c(0, res)
}
}
return(res)
}
cbind(stirling(3) , f(3))
cbind(stirling(4) , f(4))
if(FALSE)
{
cbind(stirling(10) , f(10))
cbind(stirling(12) , f(12))
system.time(f(2000))
system.time(stirling(2000))
# library(microbenchmark)
# microbenchmark(f(1000), g(1000))
# microbenchmark(f(2000), g(2000))
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.