subset () вектора в R

Я написал следующую функцию на основе на subset () , который мне удобен:

ss <- function (x, subset, ...) 
{
    r <- eval(substitute(subset), data.frame(.=x), parent.frame())
    if (!is.logical(r)) 
        stop("'subset' must be logical")
    x[r & !is.na(r)]
}

Итак, я могу написать:

ss(myDataFrame$MyVariableName, 500 < . & . < 1500)

вместо

myDataFrame$MyVariableName[ 500 < myDataFrame$MyVariableName 
                                & myDataFrame$MyVariableName < 1500]

Это похоже на то, что другие люди могли бы разработать решения, хотя - включая что-то в core RI мог пропустить. Что-нибудь уже есть?

6
задан Ken Williams 19 January 2012 в 21:19
поделиться