Dear All, Many thanks for all your useful suggestions. Much appreciated.
Jos 2009/5/28 David Winsemius <dwinsem...@comcast.net>: > Your last step will either be a single number (not really a sampling > operation) or a > non-positive number. So at best you really only have an number that depends > entirely on the prior sequence of draws. > > -- > David. > > On May 28, 2009, at 8:21 AM, jos matejus wrote: > >> Dear Ritchie and David, >> >> Thanks very much for your advice. I had thought of this potential >> solution, however it doesn't really fullfill my second criteria which >> is that once a particular cell has been sampled, the row and column of >> that cell can't be sampled from subsequently. In other words, the next >> sample would be taken from a 5x5 matrix, and then a 4x4 matrix and so >> on until I have my 6 values. >> >> I will keep thinking! >> Cheers >> Jos >> >> 2009/5/28 David Winsemius <dwinsem...@comcast.net>: >>> >>> On May 28, 2009, at 6:33 AM, jos matejus wrote: >>> >>>> Dear R users, >>>> >>>> I have a matrix of both negative and positive values that I would like >>>> to randomly sample with the following 2 conditions: >>>> >>>> 1. only sample positive values >>>> 2. once a cell in the matrix has been sampled the row and column of >>>> that cell cannot be sampled from again. >>>> >>>> #some dummy data >>>> set.seed(101) >>>> dataf <- matrix(rnorm(36,1,2), nrow=6) >>>> >>>> I can do this quite simply if all the values are positive by using the >>>> sample function without replacement on the column and row indices. >>>> >>>> samrow <- sample(6,replace=F) >>>> samcol <- sample(6,replace=F) >>>> values <- numeric(6) >>>> for(i in 1:6){ >>>> values[i] <- dataf[samrow[i], samcol[i]] >>>> } >>>> >>>> However, I am not sure how to include the logical condition to only >>>> include postitive values >>>> Any help would be gratefully received. >>>> Jos >>> >>>> M <- matrix(rnorm(36),nrow=6) >>> >>>> M[M[,]>0] >>> >>> [1] 1.65619781 0.56182830 0.23812890 0.81493915 1.01279243 1.29188874 >>> 0.64252343 0.53748655 0.31503112 >>> [10] 0.37245358 0.07942883 0.56834586 0.62200056 0.39478167 0.02374574 >>> 0.04974857 0.56219171 0.52901658 >>> >>> >>>> sample(M[M[,]>0],6,replace=F) >>> >>> [1] 0.56834586 0.07942883 0.31503112 0.62200056 0.02374574 0.64252343 >>> >>> -- >>> David Winsemius, MD >>> Heritage Laboratories >>> West Hartford, CT >>> >>> > > David Winsemius, MD > Heritage Laboratories > West Hartford, CT > > ______________________________________________ R-help@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.