On Wed, 31 Dec 2008, Guillaume Chapron wrote:
I believe this does what you want:
m[-sample(which(m[,1]<8 & m[,2]>12),2),]
Analysis:
Get a boolean vector of rows fitting criteria:
m[,1]<8 & m[,2]>12
What are their indexes?
which(...)
Choose two among those indexes:
sample(...,2)
Thanks, but this does not seem to always work.
Supposing I sample only one row among the ones matching my criteria. Then
consider the case where there is just one row matching this criteria. Sure,
there is no need to sample, but the instruction would still be executed. Then
if this row index is 15, my instruction becomes which(15,1), and this can
I think you mean 'sample(15,1)', no?
From ?sample:
---
Details
If x has length 1, is numeric (in the sense of is.numeric) and x >= 1,
sampling takes place from 1:x. Note that this convenience feature may lead
to undesired behaviour when x is of varying length sample(x). See the
resample() example below.
---
So define and use 'resample'.
It often helps to reread help pages and rerun example()s, when things are
not going your way!
HTH,
Chuck
gives me any row from 1 to 15, which is not correct. I have to make a
condition in case there is only one row matching the criteria.
______________________________________________
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.
Charles C. Berry (858) 534-2098
Dept of Family/Preventive Medicine
E mailto:cbe...@tajo.ucsd.edu UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/ La Jolla, San Diego 92093-0901
______________________________________________
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.