Duncan:

Yup, you're right. Can't assign, just print.

-- Bert

On Wed, Aug 10, 2011 at 11:02 AM, Duncan Murdoch
<murdoch.dun...@gmail.com> wrote:
> On 10/08/2011 1:16 PM, Bert Gunter wrote:
>>
>> Duncan et. al:
>>
>> Inline below.
>>
>> On Wed, Aug 10, 2011 at 9:48 AM, Duncan Murdoch
>> <murdoch.dun...@gmail.com>  wrote:
>> >  On 10/08/2011 9:40 AM, Johannes Radinger wrote:
>> >>
>> >>  Jean,
>> >>
>> >>  thank you for your answer.
>> >>  especially the line X<- numeric(length(lT)) helped me a lot.
>> >>
>> >>  Anyway, in my case I'd like to get a "dynamic" variable or better a
>> >>  function for X. I mean if i try to call X I'd like that this drawing
>> >> of
>> >>  random number is performed. In the case now if I call X several times
>> >> I'll
>> >>  always get the same random numbers.
>> >
>> >  Such things do exist in R, but they aren't easy to set up.
>>
>> Well, how about:
>>
>> Well... How about:
>>
>> X<- function()runif(1)
>> class(X)<- c("wizz",class(X))
>> print.wizz<- function(x){y<-x(); print(y);y }
>>
>> >  X
>> [1] 0.875768
>> >  X
>> [1] 0.955208
>> >  X
>> [1] 0.1150938
>> >  z<- X
>> >  z
>> [1] 0.3760085
>> >  z<- X
>> >  z
>> [1] 0.1506062
>> >
>
> That sort of looks as if it works, but it doesn't:
>
>  for (i in 1:3) {
>     r <- X + 1
>     print(r)
>  }
>
> Duncan Murdoch
>
>> Cheers,
>> Bert
>>
>>
>>  Why not just
>> >  make X be a function explicitly?  That is,
>> >
>> >  X<- function() runif(length(lT), lT, uT)
>> >
>> >  Then use X() to call the function where you were previously using X.
>> >
>> >  Duncan Murdoch
>> >>
>> >>  I thought about something like:
>> >>  X<- for (i in 1:length(lT)) runif(1, lT[i], uT[i])
>> >>
>> >>  So that I can use X as a variable for multiple runs and
>> >>  each run new random values are used.
>> >>
>> >>  thank you
>> >>  Johannes
>> >>
>> >>  -------- Original-Nachricht --------
>> >>  >    Datum: Wed, 10 Aug 2011 08:19:07 -0500
>> >>  >    Von: Jean V Adams<jvad...@usgs.gov>
>> >>  >    An: "Johannes Radinger"<jradin...@gmx.at>
>> >>  >    CC: r-help@r-project.org
>> >>  >    Betreff: Re: [R] function runif in for loop
>> >>
>> >>  >    Johannes,
>> >>  >
>> >>  >    You have the loop set up right, you just need to add indexing to
>> >> refer
>> >>  >  to
>> >>  >    the looping variable, i.
>> >>  >
>> >>  >    lT<- sample(1:10)
>> >>  >    uT<- sample(21:30)
>> >>  >    X<- numeric(length(lT))
>> >>  >
>> >>  >    for (i in 1:length(lT)) X[i]<- runif(1, lT[i], uT[i])
>> >>  >
>> >>  >    X
>> >>  >
>> >>  >    Note that I changed the name of the result from T to X, because T
>> >> has
>> >>  >    special meaning in R.
>> >>  >
>> >>  >    Jean
>> >>  >
>> >>  >    `·.,,><(((º>      `·.,,><(((º>      `·.,,><(((º>
>> >>  >
>> >>  >    Jean V. Adams
>> >>  >    Statistician
>> >>  >    U.S. Geological Survey
>> >>  >    Great Lakes Science Center
>> >>  >    223 East Steinfest Road
>> >>  >    Antigo, WI 54409  USA
>> >>  >
>> >>  >
>> >>  >
>> >>  >    From:
>> >>  >    "Johannes Radinger"<jradin...@gmx.at>
>> >>  >    To:
>> >>  >    r-help@r-project.org
>> >>  >    Date:
>> >>  >    08/10/2011 07:23 AM
>> >>  >    Subject:
>> >>  >    [R] function runif in for loop
>> >>  >    Sent by:
>> >>  >    r-help-boun...@r-project.org
>> >>  >
>> >>  >
>> >>  >
>> >>  >    Hello,
>> >>  >
>> >>  >    I'd like to perform a regression using MCMCregress (MCMCpack).
>> >>  >    One variable therefore should be a function rather than a
>> >> variable:
>> >>  >
>> >>  >    I want to use X as an input and X should be defined as a random
>> >> number
>> >>  >    between to values. Therefore I want to use the function runif
>> >> like:
>> >>  >    X<-(1, Xa, Xb) but it seems that runif doesn't allow to use
>> >> vectors.
>> >>  >    So I think I've to calculate the new vector X by using a for
>> >> loop.
>> >>  >
>> >>  >    I tried "for (i in 1:length(lT)) T<-runif(1,lT,uT)" but that
>> >> doesn't
>> >>  >  work.
>> >>  >    What is the correct for-loop function to create this new
>> >>  >  vector/variable?
>> >>  >
>> >>  >    Can I use that function then as an input for MCMCregress?
>> >>  >
>> >>  >    thank you
>> >>  >
>> >>  >    Johannes
>> >>  >
>> >>  >    --
>> >>  >
>> >>  >    ______________________________________________
>> >>  >    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
>> >>  >    and provide commented, minimal, self-contained, reproducible
>> >> code.
>> >>  >
>> >>  >
>> >>
>> >>  --
>> >>
>> >>  ______________________________________________
>> >>  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
>> >>  and provide commented, minimal, self-contained, reproducible code.
>> >
>> >  ______________________________________________
>> >  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
>> >  and provide commented, minimal, self-contained, reproducible code.
>> >
>>
>>
>>
>
>



-- 
"Men by nature long to get on to the ultimate truths, and will often
be impatient with elementary studies or fight shy of them. If it were
possible to reach the ultimate truths without the elementary studies
usually prefixed to them, these would not be preparatory studies but
superfluous diversions."

-- Maimonides (1135-1204)

Bert Gunter
Genentech Nonclinical Biostatistics
467-7374
http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm

______________________________________________
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
and provide commented, minimal, self-contained, reproducible code.

Reply via email to