Hi, The approach below uses a function. The nice thing about it is that you can define the cutoff values dynamically (i.e. what is 8 and 12 in your example). The functions extract a row index to remove. Be aware that there is no warning if both return the same row index. You might have to adjust for that.
x=1:10 y=11:20 z=cbind(x,y) a=function(x,m){which(x==sample(x[x<m],1))} b=function(y,n){which(y==sample(y[y>n],1))} z[-c(a(x,8),b(y,12)),] Cheers, Daniel Guillaume Chapron-3 wrote: > > Hello all, > > I create the following matrix: > > m <- matrix(1:20, nrow = 10, ncol = 2) > > which looks like: > > [,1] [,2] > [1,] 1 11 > [2,] 2 12 > [3,] 3 13 > [4,] 4 14 > [5,] 5 15 > [6,] 6 16 > [7,] 7 17 > [8,] 8 18 > [9,] 9 19 > [10,] 10 20 > > Then, I want to remove randomly 2 rows among the ones where m[,1]<8 > and m[,2]>12 > > I suppose the best way is to use the sample() function. I understand > how to do it when I remove among any rows, but I have not been able to > do it when I remove among specific rows only. What I could do is split > the matrix into two matrices, one with the rows to be sampled and > removed, one with the other rows. I would sample and remove, and then > merge the two matrices again. But since this part of the code is going > to be done many times, I would like to have it the most efficient > possible without creating new objects. Any idea? Thanks! > > Cheers > > Guillaume > > ______________________________________________ > 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. > > -- View this message in context: http://www.nabble.com/Randomly-remove-condition-selected-rows-from-a-matrix-tp21218219p21218541.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ 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.