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. 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.

Reply via email to