[R] function runif in for loop
Duncan Murdoch
murdoch.duncan at gmail.com
Wed Aug 10 20:02:50 CEST 2011
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.duncan at 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<jvadams at usgs.gov>
> >> > An: "Johannes Radinger"<JRadinger at gmx.at>
> >> > CC: r-help at 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"<JRadinger at gmx.at>
> >> > To:
> >> > r-help at r-project.org
> >> > Date:
> >> > 08/10/2011 07:23 AM
> >> > Subject:
> >> > [R] function runif in for loop
> >> > Sent by:
> >> > r-help-bounces at 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 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.
> >> >
> >> >
> >>
> >> --
> >>
> >> ______________________________________________
> >> 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.
> >
> > ______________________________________________
> > 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.
> >
>
>
>
More information about the R-help
mailing list