[R] substr not by position but by symbol

2012-05-07 Thread YN Kim
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@r-project.org 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.


Re: [R] substr not by position but by symbol

2012-05-07 Thread Ista Zahn
Hi YN,

I use strsplit for this:

x - .7_-.3_-.2_.9

 strsplit(x, split = _)
[[1]]
[1] .7  -.3 -.2 .9

 strsplit(x, split = _)[[1]][3]
[1] -.2


Best,
Ista
On Mon, May 7, 2012 at 9:54 AM, YN Kim y2sile...@gmail.com 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@r-project.org 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.

__
R-help@r-project.org 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.


Re: [R] substr not by position but by symbol

2012-05-07 Thread Rui Barradas
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.

__
R-help@r-project.org 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.