Dear Nick, The best solution is not to use which() but directy use the logical test. This will work in case the condition is always FALSE and which() returns a integer(0). And it is much faster too. z <- y > 3 y[!z]
library(microbenchmark) microbenchmark( y[!y > 3], y[-which(y > 3)] ) Best regards, ir. Thierry Onkelinx Statisticus / Statistician Vlaamse Overheid / Government of Flanders INSTITUUT VOOR NATUUR- EN BOSONDERZOEK / RESEARCH INSTITUTE FOR NATURE AND FOREST Team Biometrie & Kwaliteitszorg / Team Biometrics & Quality Assurance thierry.onkel...@inbo.be Havenlaan 88 bus 73, 1000 Brussel www.inbo.be /////////////////////////////////////////////////////////////////////////////////////////// To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of. ~ Sir Ronald Aylmer Fisher The plural of anecdote is not data. ~ Roger Brinner The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data. ~ John Tukey /////////////////////////////////////////////////////////////////////////////////////////// <https://www.inbo.be> Op di 8 jan. 2019 om 10:29 schreef Nick Wray via R-help < r-help@r-project.org>: > y<-c(1,2,3) > z<-which(y>3) > z > y<-y[-z] > y > > In the work I'm doing I often have this situation and have to make sure > that I condition on z being non-zero as y is now numeric(0) rather than the > set c(1,2,3). Why does R do this? Wouldn't it be more sensible for R to > simply leave the host set unchanged if there are no elements to take out? > > Any thoughts? > > Thanks, Nick Wray > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.