[R] String manipulation
David Winsemius
dwinsemius at comcast.net
Sun Jun 26 17:15:14 CEST 2011
On Jun 26, 2011, at 10:54 AM, Megh Dal wrote:
> Dear all, I have following kind of character vector:
>
> Vec <- c("344426", "dwjjsgcj", "123sgdc", "aagha123", "sdh343asgh",
> "123jhd51")
>
>
> Now I want to split each element of this vector according to numeric
> and string element. For example in the 1st element of that vector,
> there is no string element. Therefore I should get a vector of
> length 2 like c("", "344426") and so on.
>
> Can somebody point me how to achieve that in R? Is there any
> specific function for doing that?
?regex
?strsplit
You don't do a very good job of describing your desired output, so
this is two versions of what I am guessing that to be:
> cbind(lapply(strsplit(Vec, "[^0-9]+"), paste, collapse=""),
+ lapply(strsplit(Vec, "[0-9]+"), paste, collapse="") )
[,1] [,2]
[1,] "344426" ""
[2,] "" "dwjjsgcj"
[3,] "123" "sgdc"
[4,] "123" "aagha"
[5,] "343" "sdhasgh"
[6,] "12351" "jhd"
> data.frame(numbits=unlist(lapply(strsplit(Vec, "[^0-9]+"), paste,
collapse="")),
+ alphabits=unlist(lapply(strsplit(Vec, "[0-9]+"), paste,
collapse="")) )
numbits alphabits
1 344426
2 dwjjsgcj
3 123 sgdc
4 123 aagha
5 343 sdhasgh
6 12351 jhd
--
David Winsemius, MD
West Hartford, CT
More information about the R-help
mailing list