[R] RStudio 1.1.453 - Windows 10 - How to subset named vector by names that are NOT "foo"

Sarah Goslee @@r@h@go@|ee @end|ng |rom gm@||@com
Tue Jul 31 19:50:48 CEST 2018


Hi,

You need to tell R to look in the names component of your vector. Here
are three different ways:

vect <- c(foo = 11, bar = 2, norf = 45)

vect[!(names(vect) %in% c("foo"))] # easily generalizable to a longer list

vect[!grepl("foo", names(vect))]

vect[!(names(vect) == "foo")]

There are many more ways to do this, all predicated on matching a
string within the character vector containing the names of your
object.

Also, on this list we don't care at all if you're using R Studio, or
what the version is. We do potentially care what version of R itself
you are using.

Sarah

On Tue, Jul 31, 2018 at 1:41 PM, إبراهيم خطاب Ibrauheem Khat'taub
<barhomopolis using gmail.com> wrote:
> H
> i All,
>
> If I have this vector:
>
>> vect <- c(foo = 11, bar = 2, norf = 45)
>
> I can have a subset that has only "bar and "norf" this way:
>> vect[c("bar","norf")]
>
> Now how do I achieve the same by asking it for a subset that simply
> excludes "foo"? I tried all these, resulting in errors:
>
> vect[-"foo"]
> vect[-c("foo")]
> vect[!"foo"]
> vect[!c("foo")]
>
> Thanks!
>


-- 
Sarah Goslee
http://www.functionaldiversity.org




More information about the R-help mailing list