[R] Extract names from vector according to their values
David Winsemius
dwinsemius at comcast.net
Tue Aug 2 20:34:19 CEST 2011
On Aug 2, 2011, at 2:21 PM, Sverre Stausland wrote:
> Dear helpers,
>
> I can create a vector with the priority of the packages that came with
> R, like this:
>
>> installed.packages()[,"Priority"]->my.vector
>> my.vector
> base boot class cluster codetools
> "base" "recommended" "recommended" "recommended" "recommended"
> compiler datasets foreign graphics grDevices
> "base" "base" "recommended" "base" "base"
> grid KernSmooth lattice MASS Matrix
> "base" "recommended" "recommended" "recommended" "recommended"
> methods mgcv nlme nnet rpart
> "base" "recommended" "recommended" "recommended" "recommended"
> spatial splines stats stats4 survival
> "recommended" "base" "base" "base" "recommended"
> tcltk tools utils
> "base" "base" "base"
>
> How can I extract the names from this vector according to their
> priority? I.e. I want to create a vector from this with the names of
> the "base" packages, and another vector with the names of the
> "recommended" packages.
> names( my.vector[which(my.vector=="recommended")])
[1] "boot" "class" "cluster"
[4] "codetools" "foreign" "KernSmooth"
[7] "lattice" "MASS" "Matrix"
[10] "mgcv" "nlme" "nnet"
[13] "rpart" "spatial" "survival"
Note that some people may tell you that this form below should be
preferred because the 'which' is superfluous. It is not. The "["
function returns all the NA's fr reasons that are unclear to me. It is
wiser to use `which` so that you get numerical indexing.
> names(my.vector[my.vector=="recommended"])
On my system it produces 493 items most of them NA's.
--
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list