Dear R cognoscenti, While having NA as a native type is nifty, it is annoying when making binary choices.
Question: Is there anything bad about writing comparison functions that behavior like %in% (which I love) and ignore NAs? "%>%" <- function(table, x) { return(which(table > x)) } "%<%" <- function(table, x) { return(which(table < x)) } test <- c(NA, 1:4,NA,5) test %>% 2 # [1] 3 4 6 test %<% 2 # [1] 1 Why do I want to do this? Because in coding, I often end up with big chunks looking like this: ((mydataframeName$myvariableName > 2 & !is.na(mydataframeName$myvariableName)) & (mydataframeName$myotherVariableName == "male" & !is.na(mydataframeName$myotherVariableName))) Which is much less readable/maintainable/editable than mydataframeName$myvariableName > 2 & mydataframeName$myotherVariableName == "male" But ">" returns anything involving an NA, so it breaks selection statements (which can't contain NA) and leaves lines in data that are wished to be excluded If this does not have nasty side-effects, it would be a great addition to GTD* in R If anyone knows a short cut to code the effect I wish, love to hear it. Cheers, tim * GTD = Getting Things Done -- The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. ______________________________________________ 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.