[R] how to not match partial names

William Revelle lists at revelle.net
Sun May 8 01:09:09 CEST 2011


Dear friends,

How do I stop partial matching of list names?

e.g.,

x <- list(AAAA="aaaaa", BBBBB="bbbbb")
is.null(x$A)   #returns FALSE  even though there is no element A.

if(is.null(x$A))  {result <-  x$BBBB} else {result <- x$A}
result   #is aaaa even though there is no x$A element

x <- list(CCCC="aaaaa", BBBBB="bbbbb")
if(is.null(x$A))  {result <-  x$BBBB} else {result <- x$A}
result   #this is great

x <- list(ABC="aaaaa", BBBBB="bbbbb")
if(is.null(x$A))  {result <-  x$BBBB} else {result <- x$A}
result  #partial matches  and returns aaaa

x <- list(ABC="abc", BBBBB="bbbbb",AA="aaaa")
if(is.null(x$A))  {result <-  x$BBBB} else {result <- x$A}
result  #can not partial match, and thus returns bbbb

x <- list(AAB="aab", BBBBB="bbbbb",AA="aaaa")
if(is.null(x$A))  {result <-  x$BBBB} else {result <- x$A}
result #also can not partial match

My need for this is that I have several functions that return lists 
and I am trying to extract AAAA if it exists, but something else if 
it does not.

Thanks.

Bill

-- 
William Revelle		http://personality-project.org/revelle.html
Professor			http://personality-project.org
Department of Psychology             http://www.wcas.northwestern.edu/psych/
Northwestern University	http://www.northwestern.edu/
Use R for psychology                       http://personality-project.org/r
It is 6 minutes to midnight	http://www.thebulletin.org



More information about the R-help mailing list