> av <- c("UTI","ABC","UIT","UTI","UTI")
> grep("UTI", av)
[1] 1 4 5
> # if you really want TRUE/FALSE
> occurs <- logical(length(av))
> occurs[grep("UTI", av)] <- TRUE
> occurs
[1]  TRUE FALSE FALSE  TRUE  TRUE
>
>


On 12/9/06, Neil McLeod <neil.a.mcleod@gmail.com> wrote:
>
> Hello,
>
> I am having difficulty filtering a data frame.
>
> I would like to take all the rows of a data frame where column A contains
> the regular expression "UTI" (or some other regex). Here's what I've got:
>
> utiRE <- function (avector) {
> occurs <- c()
> r1 <- "UTI"
> for (x in avector) {
> if (!is.na(grep(r1,x,perl=TRUE))) {
> occurs <- c(occurs, TRUE)
> } else {
> occurs <- c(occurs, FALSE)
> }
>
>
> I know this is a clunky way of doing it, but I tried more natural ways
> first
> (i.e. without iteration), to no avail. I think the problem is that when I
> iterate through the list, the strings in avector get turned into numbers.
>
> Any solutions?
>
> Thanks!
> --
> Ubuntu Linux 6.06 (Dapper Drake)
>
>        [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@stat.math.ethz.ch 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.
>



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem you are trying to solve?

	[[alternative HTML version deleted]]


