Re: [R] recursively divide a value to get a sequence

From: Anne-Marie Ternes <amternes_at_gmail.com>
Date: Wed, 09 Jul 2008 13:16:05 +0200

Keith,

I am simply baffled! Didn't think a second about doing it this way, tsss - Great!

Thanks also for Daniel, Jim's and Bart's proposals!

R is cool, I realise it every day again :-)

Thanks!!

On Wed, Jul 9, 2008 at 12:33 PM, Jim Lemon <jim_at_bitwrit.com.au> wrote:
> On Wed, 2008-07-09 at 11:40 +0200, Anne-Marie Ternes wrote:
>> Hi,
>>
>> if given the value of, say, 15000, I would like to be able to divide
>> that value recursively by, say, 5, and to get a vector of a determined
>> length, say 9, the last value being (set to) zero- i.e. like this:
>>
>> 15000 3000 600 120 24 4.8 0.96 0.192 0
>>
>> These are in fact concentration values from an experiment. For my
>> script, I get only the starting value (here 15000), and the factor by
>> which concentration is divided for each well, the last one having, by
>> definition, no antagonist at all.
>>
>> I have tried to use "seq", but it can "only" do positive or negative
>> increment. I didn't either find a way with "rep", "sweep" etc. These
>> function normally start from an existing vector, which is not the case
>> here, I have only got a single value to start with.
>>
>> I suppose I could do something "loopy", but I'm sure there is a better
>> way to do it.
>>
> Well, if you really want to do it recursively (and maybe loopy as well)
>
> recursivdiv<-function(x,denom,lendiv,firstpass=TRUE) {
> if(firstpass) lendiv<-lendiv-1
> if(lendiv > 1) {
> divvec<-c(x/denom,recursivdiv(x/denom,denom,lendiv-1,FALSE))
> cat(divvec,ndiv,"\n")
> }
> else divvec<-0
> if(firstpass) divvec<-c(x,divvec)
> return(divvec)
> }
>
> Jim
>
>
>



R-help_at_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 and provide commented, minimal, self-contained, reproducible code. Received on Wed 09 Jul 2008 - 11:20:50 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Wed 09 Jul 2008 - 11:31:49 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive