[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