[R] how to get all iterations if I meet NaN?

Uwe Ligges ligges at statistik.tu-dortmund.de
Sat Mar 28 16:35:24 CET 2009



Nash wrote:
> hi, you can try this method.
> 
> ## if x is a vector
> x <- runif(1000)
> ## if sin(1/0) will appear NaN. we make the situation. 
> x[sample(1:length(x),5)] <- 0   
> z <- suppressWarnings(ifelse(is.na(sin(1/x)),NA,sin(1/x)))
> is.numeric(z)
> 
> ## if x is a matrix
> x=matrix(runif(1000),100,10)
> x[sample(1:nrow(x),50),sample(1:ncol(x),5)] <- 0
> z <- suppressWarnings(ifelse(is.na(sin(1/x)),NA,sin(1/x)))
> is.numeric(z)
> 


Please read the question more carefully, the sin() example was used as a 
method that does not give an error but works as expected (just with the 
warning), but the question is how not to break the loop, and so my 
answer was "see ?try".

Uwe Ligges

> 
> On Sat, 28 Mar 2009 01:36:36 +0800, huiming song wrote
>> hi, everybody, please help me with this question:
>>
>> If I want to do iteration for 1000 times, however, for the 500th 
>> iteration, there is NaN appears. Then the iteration will stop. If I 
>> don't want the stop and want the all the 1000 iterations be done. 
>> What shall I do?
>>
>> suppose I have x[1:1000] and z[1:1000],I want to do some calculation 
>> for all x[1] to x[1000].
>>
>> z=rep(0,1000)
>> for (i in 1:1000){
>>   z[i]=sin(1/x[i])
>> }
>>
>> if x[900] is 0, in the above code it will not stop when NaN appears. 
>> Suppose when sin(1/x[900]) is NaN appears and the iteration will now 
>> fulfill the rest 100 iterations. How can I write a code to let all 
>> the 1000 iterations be done?
>>
>> Thanks!
>>
>> 	[[alternative HTML version deleted]]
>>
>> ______________________________________________
>> 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.
> 
> 
> --
> Nash - morrison at ibms.sinica.edu.tw
> 
> ______________________________________________
> 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