Skip to content
Prev 395314 / 398502 Next

Issue from R-devel: subset on table

Another solution could also be possible - see below.
On 10/21/2023 10:38 PM, Leonard Mada wrote:
2) Alternative solution
Enhance subset.default to accept also formulas, e.g.:

subset.default = function (x, subset, ...)
{
 ?? ?if(inherits(subset, "formula")) {
 ?? ???? subset = subset[[2]];
 ?? ???? subset = eval(subset, list("." = x));
 ?? ?} else if (! is.logical(subset))
 ?? ???? stop("'subset' must be logical")
 ?? ?x[subset & ! is.na(subset)]
}

# it works now: but results depend on sample()
subset(table(sample(1:10, 100, T)), ~ . > 10)
subset(table(sample(1:10, 100, T)), ~ . > 10 & . < 13)