Re: [R] splitting a character field in R

From: Dimitris Rizopoulos <dimitris.rizopoulos_at_med.kuleuven.be>
Date: Sat 29 Oct 2005 - 00:54:24 EST

try the following:

A <- c("dgabcrt", "fgrtabc", "sabcuuu")
B <- strsplit(A, "abc")

x1 <- sapply(B, "[", 1); x1[is.na(x1)] <- "" x2 <- sapply(B, "[", 2); x2[is.na(x2)] <- "" x1
x2

I hope it helps.

Best,
Dimitris



Dimitris Rizopoulos
Ph.D. Student
Biostatistical Centre
School of Public Health
Catholic University of Leuven

Address: Kapucijnenvoer 35, Leuven, Belgium

Tel: +32/(0)16/336899
Fax: +32/(0)16/337015
Web: http://www.med.kuleuven.be/biostat/
     http://www.student.kuleuven.be/~m0390867/dimitris.htm



>
>
>
>
> Hi Jim,
>
> Thanks for your post, I was aware of strsplit, but really could not
> find
> out how i could use it.
>
> I tried like in your example ...
>
> A<-c(1,2,3)
> B<-c("dgabcrt","fgrtabc","sabcuuu")
> C<-strsplit(B,"abc")
>> C
> [[1]]
> [1] "dg" "rt"
>
> [[2]]
> [1] "fgrt"
>
> [[3]]
> [1] "s" "uuu"
>
> Which looks promissing, but here C is a list with three elements.
> But how
> to create the two vectors I need from here, that is
>
> ("dg","fgrt", "s") and ("rt","","uuu")
>
> (or how to get access to the substrings "rt" or "uuu").
>
> Greetings
>
> Manuel
>
>
>
>
> jim holtman
> <jholtman@gmail.c To:
> "ManuelPerera-Chang@fmc-ag.com" <ManuelPerera-Chang@fmc-ag.com>
> om> cc:
> r-help@stat.math.ethz.ch
> Subject: Re: [R]
> splitting a character field in R
> 28.10.2005 16:00
>
>
>
>
>
>
>> x <- 'dfabcxy'
>> strsplit(x, 'abc')
> [[1]]
> [1] "df" "xy"
>
>
>>
>
>
>
>
> On 10/28/05, ManuelPerera-Chang@fmc-ag.com
> <ManuelPerera-Chang@fmc-ag.com >
> wrote:
>
>
>
>
> Dear R users,
>
> I have a dataframe with one character field, and I would like
> to
> create two
> new fields (columns) in my dataset, by spliting the existing
> character
> field into two using an existing substring.
>
> ... something that in SAS I could solve e.g. combining
> substr(which I
> am
> aware exist in R) and "index" for determining the position of
> the
> pattern
> within the string.
> e.g. if my dataframe is ...
> A B
> 1 dgabcrt
> 2 fgrtabc
> 3 sabcuuu
>
> Then by splitting by substring "abc" I would get ...
>
> A B B1 B2
> 1 dgabcrt dg rt
> 2 fgrtabc fgrt
> 3 sabcuuu s uuu
>
> Do you know how to do this basic string(dataframe) manipulation
> in R
>
> Saludos,
>
> Manuel
>
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
>
>
>
> --
> Jim Holtman
> Cincinnati, OH
> +1 513 247 0281
>
> What the problem you are trying to solve?
>
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
>

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm



R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Sat Oct 29 01:09:44 2005

This archive was generated by hypermail 2.1.8 : Sat 29 Oct 2005 - 03:44:37 EST