Thank you Paul, Barry and Patrick.

I will do what you recommand (the profiling).

I have heard several times that for example Matlab would be faster than R...
This is why I thought of switching to Python, though it is also interpreted.
I thought it would be faster.

Best,
Jean

2009/11/21 Patrick Burns <pburns@pburns.seanet.com>

> One little thing that I think Barry
> meant to say.
>
> If the bottleneck is in your code, you
> may be able to improve the situation
> enough by merely rewriting the R code
> of your function.  If that doesn't work,
> then you can move to C.
>
>
>
> Patrick Burns
> patrick@burns-stat.com
> +44 (0)20 8525 0696
> http://www.burns-stat.com
> (home of "The R Inferno" and "A Guide for the Unwilling S User")
>
> Barry Rowlingson wrote:
>
>>  On Sat, Nov 21, 2009 at 2:29 PM, Jean Legeande <jean.legeande@gmail.com>
>> wrote:
>>
>>> Dear R users,
>>>
>>> I would like to make my R code for MCMC faster. It is possible to
>>> integrate
>>> C code into R but I think C is too complicated for me. I would need a C
>>> introduction only for MCMC and I do not know if such a thing exists.
>>>
>>> I was thinking of Python (and scipy). Where could I read about its
>>> integration into R ? How developed are the statistical packages in Python
>>> ?
>>> I could not find a Python package on the web with functions to simulate
>>> Wishart, or multivariate gamma or student distributions.
>>>
>>> Since I am a little bit lost, I write this message to the R help list.
>>> Sorry
>>> for these naive questions and thanks for your help.
>>>
>>>
>>  Have you done a profile of your MCMC code to see where the bottleneck
>> is? Without doing that first any effort could be a total waste of
>> time.
>>
>>  R can do a lot of it's calculations at the same level as C, so if 80%
>> of your time is spent inverting matrices then converting to Python or
>> C (or even assembly language) isn't going to help much since R's
>> matrix inversion is done using C code (and quite possibly very
>> optimised C code with maybe some assembly language too).
>>
>>  So do a profile (see ?Rprof) and work out the bottleneck. It might be
>> one of your functions, in which case just re-writing that in C and
>> linking to R (see programmers guide and a good C book) will do the
>> job.
>>
>>  My hunch is that Python and R run at about the same speed, and both
>> use C libraries for speedups (Python primarily via the numpy package).
>>
>>  You can call the GSL from Python, and there are probably tricks for
>> getting the distributions you want:
>>
>> http://www.mailinglistarchive.com/help-gsl@gnu.org/msg00096.html
>>
>>  describes how to get samples from a Wishart.
>>
>>  However using the GSL from Python probably wont be much faster than
>> using R because again it's all at the C level already. Did I suggest
>> you profile your code?
>>
>> Barry
>>
>> ______________________________________________
>> R-help@r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
>> http://www.R-project.org/posting-guide.html<http://www.r-project.org/posting-guide.html>
>> and provide commented, minimal, self-contained, reproducible code.
>>
>>

	[[alternative HTML version deleted]]


