[R] ignoring objects containing NaN's in a recursive function

Berton Gunter gunter.berton at gene.com
Tue Mar 14 20:31:08 CET 2006

if(any(is.nan(...)))... ##repeat


1) Have you tried RSiteSearch('permutation test',restr='function') to see
what's already there?

2) I suspect that there are better ways to do this. In particular,
generating all random whatevers at once is way more efficient than repeated

2) It is **not** a permutation test, since there is no guarantee that all
the calls to sample() generate different permutations. (depending on the
sample size, this may be nitpicking).


-- Bert Gunter
Genentech Non-Clinical Statistics
South San Francisco, CA
"The business of the statistician is to catalyze the scientific learning
process."  - George E. P. Box

> -----Original Message-----
> From: r-help-bounces at stat.math.ethz.ch 
> [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Mills, Jason
> Sent: Tuesday, March 14, 2006 11:00 AM
> To: r-help at stat.math.ethz.ch
> Subject: [R] ignoring objects containing NaN's in a recursive function
> Hi-
> General question:
> I have written a function that performs a permutation test.  I use the
> function "sample" to randomize my data, then I call on 
> another function
> I wrote to analyze the randomized data.  This process repeats "n"
> times-- 10, 100 or whatever.
> The function applied to the randomized data creates a matrix and
> sometimes the matrix contains NaN's.  I would like my 
> function to simply
> ignore any matrices that contain NaN's and continue to cycle until it
> has generated "n" matrices without any NaN's.  I am aware of the
> function "is.nan", but I'm not sure how to fit it in.
> Specifics:
> Here's the section of code that needs improvement:
> for (i in 1:n){
> 	S[,,]= sample (Y[,,])
> 	dig=auto(S,H,J,T)	
> 	out[i,]=dig[1,]}
> n= number of randomizations
> S= array to store randomized data
> Y= original data array
> dig= the matrix returned by the function "auto"
> out= matrix that collects the first row of each "dig" matrix up to "n"
> Sometimes "dig" includes NaN's.  I want the function to ignore those
> "dig"s but keep working until it has generated "n" matrices 
> that contain
> no NaN's.  
> How could I do this?
> Thanks.
> Jason Mills
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! 
> http://www.R-project.org/posting-guide.html

More information about the R-help mailing list