R/dotprops.R
Subset points in dotprops object that match given conditions
# S3 method for dotprops subset(x, subset, invert = FALSE, ...)
x | A dotprops object |
---|---|
subset | A subset of points defined by indices, an expression or a function (see Details) |
invert | Whether to invert the subset criteria - a convenience when selecting by function or indices. |
... | Additional parameters (currently ignored) |
subsetted dotprops object
subset
defines either logical or numeric indices, in which
case these are simply applied to the matrices that define the points
, vect
fields of the dotprops
object
etc OR a function (which is called with the 3D points array and returns T/F.
OR an expression
vector).
prune.dotprops
, subset.neuron
## subset using indices ... dp=kcs20[[10]] dp1=subset(dp, 1:50) # ... or an expression dp2=subset(dp, alpha>0.7) front=subset(dp, points[,'Z']<40) # use a helper function between=function(x, lower, upper) x>=lower & x<=upper middle=middle=subset(dp, between(points[,'Z'], 40, 60)) # plot results in 3D# NOT RUN { ## subset using an selection function s3d=select3d() dp1=subset(dp, s3d(points)) # special case of previous version dp2=subset(dp, s3d) # keep the points that were removed from dp2 dp2.not=subset(dp, s3d, invert=TRUE) # (another way of doing the same thing) dp2.not=subset(dp, Negate(s3d)) stopifnot(all.equal(dp1, dp2)) dp2=subset(dp, alpha>0.5 & s3d(pointd)) dp3=subset(dp, 1:10) ## subset each dotprops object in a whole neuronlist plot3d(kcs20) s3d=select3d() kcs20.partial = nlapply(kcs20, subset, s3d) clear3d() plot3d(kcs20.partial, col='red') plot3d(kcs20, col='grey') # }