Splitting a character vector.
On Jul 7, 2012, at 5:37 PM, John Kane wrote:
I am lousy at simple regex and I have not found a solution to a
simple problem.
I have a vector with some character values that I want to split.
Sample data
dd1 <- c( "XXY (mat harry)","XXY (jim bob)", "CAMP (joe blow)",
"ALP (max jack)")
Desired result
dd2 <- data.frame( xx = c("XXY", "XXY", "CAMP", "ALP"), yy =
c("mat harry", "jim bob" , "joe blow", "max jack"))
data.frame(xx=sub("(\\s\\(.+$)", "", dd1),
yy=sub("(.+)(\\s\\()(.+)(\\)$)", "\\3", dd1) )
xx yy
1 XXY mat harry
2 XXY jim bob
3 CAMP joe blow
4 ALP max jack
I thought I should be able to split the characters with strsplit but
either I am misunderstanding the function or don't know how to
escape a "(" properly in an effort to at least get "XXY" "(mat
harry)"
David Winsemius, MD Heritage Laboratories West Hartford, CT