nzchar(x) & !is.na(x) No?
-- Bert On Mon, Aug 6, 2012 at 9:25 AM, Liviu Andronic <landronim...@gmail.com> wrote: > Dear all > I'm pretty sure that I'm approaching the problem in a wrong way. > Suppose the following character vector: >> (x[1:10] <- paste(x[1:10], sample(1:10, 10), sep='')) > [1] "a10" "b7" "c2" "d3" "e6" "f1" "g5" "h8" "i9" "j4" >> x > [1] "a10" "b7" "c2" "d3" "e6" "f1" "g5" "h8" "i9" "j4" "k" > "l" "m" "n" > [15] "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" > "z" "1" "2" > [29] "3" "4" "5" "6" "7" "8" "9" "10" "11" "12" "13" > "14" "15" "16" > [43] "17" "18" "19" "20" "21" "22" "23" "24" "25" "26" > > > How do you test whether the elements of the vector contain at least > one letter (or at least one digit) and obtain a logical vector of the > same dimension? I came up with the following awkward function: > is_letter <- function(x, pattern=c(letters, LETTERS)){ > sapply(x, function(y){ > any(sapply(pattern, function(z) grepl(z, y, fixed=T))) > }) > } > >> is_letter(x) > a10 b7 c2 d3 e6 f1 g5 h8 i9 j4 k > l m n o > TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE > TRUE TRUE TRUE TRUE > p q r s t u v w x y z > 1 2 3 4 > TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE > FALSE FALSE FALSE FALSE > 5 6 7 8 9 10 11 12 13 14 15 > 16 17 18 19 > FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE > FALSE FALSE FALSE FALSE > 20 21 22 23 24 25 26 > FALSE FALSE FALSE FALSE FALSE FALSE FALSE >> is_letter(x, 0:9) ##function slightly misnamed > a10 b7 c2 d3 e6 f1 g5 h8 i9 j4 k > l m n o > TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE > FALSE FALSE FALSE FALSE > p q r s t u v w x y z > 1 2 3 4 > FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE > TRUE TRUE TRUE TRUE > 5 6 7 8 9 10 11 12 13 14 15 > 16 17 18 19 > TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE > TRUE TRUE TRUE TRUE > 20 21 22 23 24 25 26 > TRUE TRUE TRUE TRUE TRUE TRUE TRUE > > > Is there a nicer way to do this? Regards > Liviu > > > -- > Do you know how to read? > http://www.alienetworks.com/srtest.cfm > http://goodies.xfce.org/projects/applications/xfce4-dict#speed-reader > Do you know how to write? > http://garbl.home.comcast.net/~garbl/stylemanual/e.htm#e-mail > > ______________________________________________ > R-help@r-project.org mailing list > 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. -- Bert Gunter Genentech Nonclinical Biostatistics Internal Contact Info: Phone: 467-7374 Website: http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm ______________________________________________ R-help@r-project.org mailing list 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.