dear all, I have a little problem I am doing a loop, witha grep function. sometimes it happens that have the following results> tmp <- grep("x", y) > tmpinteger(0) how can I recognise this outcome? is.na is not working of course, so what else? thank you [[alternative HTML version deleted]]
on 10/26/2008 10:54 AM John Lande wrote:> dear all, > > I have a little problem I am doing a loop, witha grep function. sometimes it > happens that have the following results > >> tmp <- grep("x", y) >> tmp > integer(0) > > > how can I recognise this outcome? is.na is not working of course, so what > else? > > thank youA typical approach is to use any(): y <- c(letters[1:3])> y[1] "a" "b" "c"> any(grep("x", y))[1] FALSE> any(grep("c", y))[1] TRUE which returns a boolean that you can then test for and proceed accordingly. HTH, Marc Schwartz
On 26/10/2008 11:54 AM, John Lande wrote:> dear all, > > I have a little problem I am doing a loop, witha grep function. sometimes it > happens that have the following results > >> tmp <- grep("x", y) >> tmp > integer(0) > > > how can I recognise this outcome? is.na is not working of course, so what > else?length(integer(0)) is zero. If you get any matches, you'll get a longer result. Duncan Murdoch