[R] How do I get just the two last tokens of each string in a vector?

Fredrik Karlsson dargosch at gmail.com
Fri Jun 26 15:58:22 CEST 2009


HI Jim,

Thank you! Works perfectly.

/Fredrik

On Fri, Jun 26, 2009 at 1:00 PM, jim holtman<jholtman at gmail.com> wrote:
> This should do it
>
>> a <- c(" %L H*L L*H H%", "%L H* H%",  "%L L*H %",   "%L L*H %" )
>> # split the strings
>> x <- strsplit(a, ' ')
>> # get last two tokens
>> sapply(x, function(.tokens) paste(tail(.tokens, 2), collapse=' '))
> [1] "L*H H%" "H* H%"  "L*H %"  "L*H %"
>>
>>
>
>
> On Fri, Jun 26, 2009 at 7:21 AM, Fredrik Karlsson <dargosch at gmail.com>
> wrote:
>>
>> Dear list,
>>
>> Sorry for asking this very silly question on the list, but I seem to
>> have made my life complicated by going into string manipulation in
>> vectors.
>> What I need is to get the last part of a sting (the two last tokens,
>> separated by a space), and of course, this should be done for all
>> strings in a vector, creating a new vector of exual size.
>>
>> So,
>>
>> a <- c(" %L H*L L*H H%", "%L H* H%",  "%L L*H %",   "%L L*H %" )
>>
>> should be made into a vector
>>
>>  c(" L*H H%", "H* H%",  "L*H %",   "L*H %" )
>>
>> I have tried strsplit, but it seems to produce a structure I cannot
>> get to work in this context. Any ideas on how to solve this?
>>
>> Thankful for all the help I can get.
>>
>> /Fredrik
>>
>>
>> --
>> "Life is like a trumpet - if you don't put anything into it, you don't
>> get anything out of it."
>>
>> ______________________________________________
>> R-help at 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.
>
>
>
> --
> Jim Holtman
> Cincinnati, OH
> +1 513 646 9390
>
> What is the problem that you are trying to solve?
>



-- 
"Life is like a trumpet - if you don't put anything into it, you don't
get anything out of it."




More information about the R-help mailing list