Given a vector of booleans, chich() will return indices that are TRUE. Given a vector of indices, how can I get a vector of booleans? My intent is to do logical operations on the output of grep(). Maybe there's a better way to do this? Thanks -Ed
I'm not sure I completely understand your question. Would using grepl() instead of grep() let you do what you want? ---------------------------------------- David L Carlson Department of Anthropology Texas A&M University College Station, TX 77843-4352 -----Original Message----- From: R-help <r-help-bounces at r-project.org> On Behalf Of Ed Siefker Sent: Wednesday, February 27, 2019 5:03 PM To: r-help <r-help at r-project.org> Subject: [R] inverse of which() Given a vector of booleans, chich() will return indices that are TRUE. Given a vector of indices, how can I get a vector of booleans? My intent is to do logical operations on the output of grep(). Maybe there's a better way to do this? Thanks -Ed ______________________________________________ R-help at 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.
use grepl? On February 27, 2019 3:03:27 PM PST, Ed Siefker <ebs15242 at gmail.com> wrote:>Given a vector of booleans, chich() will return indices that are TRUE. > >Given a vector of indices, how can I get a vector of booleans? > >My intent is to do logical operations on the output of grep(). Maybe >there's a better way to do this? > >Thanks >-Ed > >______________________________________________ >R-help at 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.-- Sent from my phone. Please excuse my brevity.
The inverse of which() would have to know the length of the logical vector to create. The function could be invWhich <- function(whichTrue, length) { stopifnot(length <= max(whichTrue), !anyNA(whichTrue)) v <- logical(length) v[whichTrue] <- TRUE v } It isn't quite an inverse, as which() treats NA and FALSE the same. Much of the time dealing with the logical vector (e.g, grepl() instead of grep()) is less error prone than using which() to convert to indices of the TRUE values. Bill Dunlap TIBCO Software wdunlap tibco.com On Wed, Feb 27, 2019 at 3:04 PM Ed Siefker <ebs15242 at gmail.com> wrote:> Given a vector of booleans, chich() will return indices that are TRUE. > > Given a vector of indices, how can I get a vector of booleans? > > My intent is to do logical operations on the output of grep(). Maybe > there's a better way to do this? > > Thanks > -Ed > > ______________________________________________ > R-help at 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]]
That's exactly what I want! Thanks! -Ed On Wed, Feb 27, 2019 at 5:14 PM David L Carlson <dcarlson at tamu.edu> wrote:> > I'm not sure I completely understand your question. Would using grepl() instead of grep() let you do what you want? > > ---------------------------------------- > David L Carlson > Department of Anthropology > Texas A&M University > College Station, TX 77843-4352 > > -----Original Message----- > From: R-help <r-help-bounces at r-project.org> On Behalf Of Ed Siefker > Sent: Wednesday, February 27, 2019 5:03 PM > To: r-help <r-help at r-project.org> > Subject: [R] inverse of which() > > Given a vector of booleans, chich() will return indices that are TRUE. > > Given a vector of indices, how can I get a vector of booleans? > > My intent is to do logical operations on the output of grep(). Maybe > there's a better way to do this? > > Thanks > -Ed > > ______________________________________________ > R-help at 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.