[R] substr not by position but by symbol

Rui Barradas ruipbarradas at sapo.pt
Mon May 7 16:04:36 CEST 2012


Hello,


YN wrote
> 
> Hi all,
> 
> One of my variables looks like this:
> 
> .7_-.3_-.2_.9
> 
> And this is a character variable. I made this by combining four different
> number like .7, -.3, -.2, and .9 using paste function.
> Now, I want to go back to original format from this one combined character
> variable. For instance, I want to extract 3rd number, -.2, from this
> character.
> 
> I know I can use substr function, but each position is not fixed because
> sometimes each number has negative sign. Instead, it would be good if
> there
> is any extracting function which can extract character not by position but
> by specific symbol, in my case symbol '_'. Is there any similar function
> for doing in R?
> 
> Thanks!
> 
> YN
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help@ 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.
> 

Yes there is.

x <- ".7_-.3_-.2_.9"
strsplit(x, "_")

# To get the numbers, not character vectors
as.numeric(unlist(strsplit(x, "_")))
# Or
sapply(strsplit(x, "_"), as.numeric)

Hope this helps,

Rui Barradas


--
View this message in context: http://r.789695.n4.nabble.com/substr-not-by-position-but-by-symbol-tp4614869p4614889.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list