[R] Applying a function to a vector

Thomas Lumley tlumley at u.washington.edu
Mon Oct 31 16:10:36 CET 2005


On Mon, 31 Oct 2005, Florent Bresson wrote:

> I just have a try with sapply. The problem is that my
> function pbeta2 has two parameters z and p (wich is a
> vector of two parameters). If I use sapply , R returns
> a message incicating that parameter p is missing. It
> is a problem since both z and p are varying along my
> data.frame.

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 existing
>>> beta distribution of th stats package is the beta
>>> distribution of the first kind). It works perfectly
>>> for a single value, but I want to apply it to a
> vector
>>> of 22 000 values. I can use a loop for the
> calculation
>>> 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
> value
>>>
>>> Thanks for your help
>>>
>>> ______________________________________________
>>> R-help at stat.math.ethz.ch mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
>>>
>>>
>
>> Paulo Justiniano Ribeiro Jr
>> LEG (Laboratório de Estatística e Geoinformação)
>> Departamento de Estatística
>> Universidade Federal do Paraná
>> Caixa Postal 19.081
>> CEP 81.531-990
>> Curitiba, PR  -  Brasil
>> Tel: (+55) 41 3361 3573
>> Fax: (+55) 41 3361 3141
>> e-mail: paulojus at est.ufpr.br
>> http://www.est.ufpr.br/~paulojus
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>

Thomas Lumley			Assoc. Professor, Biostatistics
tlumley at u.washington.edu	University of Washington, Seattle


More information about the R-help mailing list