[R] code patterns in vector

Duncan Murdoch murdoch at stats.uwo.ca
Thu Feb 19 15:33:47 CET 2009


On 19/02/2009 9:26 AM, Stefan Uhmann wrote:
> Dear List,
> 
> I have this column/vector:
> 
> vec <- c("function", "missing", "string")
> 
> and want to compute a second column/vector:
> - value if the pattern "unc" is found: 1
> - value if the pattern "iss" is found: 2
> - value if none of the patterns is found: 0
> 
> This should be the result:
>  > vec2
> [1] 1 2 0
> 
> Any help? Tried it with grep, but the output is not as long as vec, so 
> I'm lost a bit here.

vec2 <- rep(0, length(vec))
vec2[grep("iss", vec)] <- 2
vec2[grep("unc", vec)] <- 1

Note that an entry containing both "unc" and "iss" will get a 1 
according to this scheme.

Duncan Murdoch




More information about the R-help mailing list