[R] Repeating

Rui Barradas ruipbarradas at sapo.pt
Mon May 7 15:36:20 CEST 2012


Hello,


efulas wrote
> 
> By the way, my "for" function is below, I can't find the mistake 
> 
> 
> rand.max.t<- function(n){
> f<-rep(NA,n)
> 
> for (i in 1:n) {
> reassign[i]<-matrix(c(sample(id),data1),203,3)
> new.data<-reassign[,1]
> random.cas=reassign[new.data==0,2:3]
> random.con=reassign[new.data==1,2:3]
> f<- list(x=random.cas[,1],y=random.cas[,2])
> ppregion(xl=min(random.cas[,1])-0.0001,xu=max(random.cas[,1])+0.0001,yl=min(random.cas[,2])-0.0001,yu=max(random.cas[,2])+0.0001)
> g <- Kfn(f,0.01)
> 
> random.g <- ((g$y)^2)/pi
> }
> random.g
> }
> 
> rand.max.t(10)
> 

What is the error message? Without it it's not possible to say, exactly,
but:

1. What is the varible 'reassign'? You use it before it's created. The
instruction

    reassign[i]<-matrix( ...etc...

    changes a value that should already exist. This should produce an error.
    (By seeing how 'reassign' is used, you're creating a matrix, get rid of
the index in reassign[i].)

2. What is 'f'? You're creating it, then recreating it but never using it.
Get rid of it.

3. Every time through the loop you attribute a new value to 'random.g', and
only the last one is
    returned by the function. If you want all n values, this would be
better:

    random.g <- vector("list", n)
    for(i in seq.int(n)){

        [... etc ...]

        random.g[[ i ]] <- ((g$y)^2)/pi 
    }


Hope this helps,

Rui Barradas


--
View this message in context: http://r.789695.n4.nabble.com/Repeating-tp4614371p4614823.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list