On Mon, 31 Oct 2005, Florent Bresson wrote:
I just have a try with sapply. The problem is that
function pbeta2 has two parameters z and p (wich
vector of two parameters). If I use sapply , R
a message incicating that parameter p is missing.
is a problem since both z and p are varying along
You would need mapply(). It won't help, though.
Most of the time is
presumably being spent in all the calls to
integrate, so mapply() or
sapply() won't be much faster than a loop.
According to Google, the VGAM R package
http://www.stat.auckland.ac.nz/~yee/
claims to have the beta distributions of the second
kind.
-thomas
Florent
have a look at:
help(sapply)
On Mon, 31 Oct 2005, Florent Bresson wrote:
beta distribution of the second kind (the
beta distribution of th stats package is the
distribution of the first kind). It works
for a single value, but I want to apply it to a
of 22 000 values. I can use a loop for the
of each value but it runs very very slowly.
So, what can I change ?
Here's the function :
p <- c(1,1)
y <- 1
z <- 1
truc <- function(y)
{y^(p[1]-1)/(1+y)^(p[1]+p[2])}
pbeta2 <- function(z,p)
1/beta(p[1],p[2])*integrate(truc,0,z)$value
machin <- pbeta2(vector,p) just return a single