### exemplos de funções de probabilidade ### compilando system("R CMD SHLIB cfuncs/randensprobs.c") ### carregando dyn.load("cfuncs/randensprobs.so") ### exemplos rnorm .C("myrnorm", as.integer(10), as.double(5), as.double(2), double(10)) mean(.C("myrnorm", as.integer(1000), as.double(5), as.double(2), double(1000))[[4]]) sd(.C("myrnorm", as.integer(1000), as.double(5), as.double(2), double(1000))[[4]]) hist(.C("myrnorm", as.integer(1000), as.double(5), as.double(2), double(1000))[[4]]) system.time(.C("myrnorm", as.integer(1e5), as.double(0), as.double(1), double(1e5))[[4]]) system.time(rnorm(1e5)) ### rnorm2 plot(.C("myrnorm2", as.integer(100), as.double(1:100), as.double(sqrt(1:100)), double(100))[[4]]) plot(.C("myrnorm2", as.integer(100), as.double(1:100), as.double(sqrt(1:100)), double(100))[[4]]-1:100) ### rpois .C("myrpois", as.integer(10), as.double(1.5), integer(10)) plot(table(.C("myrpois", as.integer(1000), as.double(1.5), integer(1000))[[3]])) points(0:10, dpois(0:10, 1.5)*1000, col=2, pch=3) ### densidade normal .C("mydnorm", as.integer(4), as.double(0:3), as.double(rep(0,4)), as.double(rep(1,4)), double(4)) .C("mydnorm", as.integer(14), as.double(-3:10), as.double(rep(0,14)), as.double(rep(1,14)), double(14)) ### quantis da poisson .C("myqpois", as.integer(11), as.double(0:10/10), as.double(rep(3.5,11)), integer(11)) qpois(1,3.5) ###??? .C("myqpois", as.integer(1), as.double(.9999999), as.double(3.5), integer(1)) .C("myqpois", as.integer(1), as.double(1-1e-15), as.double(3.5), integer(1)) #### intervalos de confianca x <- rnorm(10) (m <- mean(x)) (s <- sd(x)) qnorm(.975) m -1.96*s/sqrt(10) m +1.96*s/sqrt(10) qnorm(c(.025, .975), m, s/sqrt(10))