[R] convert delimited strings with ranges to numeric

Bert Gunter gunter.berton at gene.com
Thu Aug 15 05:01:21 CEST 2013


Better yet!

-- Bert

On Wed, Aug 14, 2013 at 6:03 PM, Richard M. Heiberger <rmh at temple.edu> wrote:
> I would use source
>
>> x<-  "2,5-7,10,12-15"
>> source(textConnection(paste("c(", gsub("\\-", ":", x), ")")))$value
> [1]  2  5  6  7 10 12 13 14 15
>
>
>
> On Wed, Aug 14, 2013 at 8:10 PM, Bert Gunter <gunter.berton at gene.com> wrote:
>>
>> Neither gsubfn nor eval(parse)) is required, of course:
>>
>> > x<-  "2,5-7,10,12-15"
>> > z <-strsplit(scan(text=x,sep=",",wh="a"),split="-") ## use scan to
>> > vectorize the string
>> > l <- lapply(z,as.numeric)
>> > unlist(lapply(l,function(x){
>>   last <- x[length(x)]    ## alternately could use if() on the length of x
>>   seq(from=x[1],to=last)
>>   }))
>>
>> [1]  2  5  6  7 10 12 13 14 15
>>
>>
>> Cheers,
>>  Bert
>>
>>
>> On Wed, Aug 14, 2013 at 3:34 PM, arun <smartpink111 at yahoo.com> wrote:
>> > Hi,
>> > May be this helps:
>> > library(gsubfn)
>> > as.numeric(strsplit(gsub("[c() ]","",gsubfn("([0-9]+)-([0-9]+)",
>> > ~as.numeric(seq(x,y)),x)),",")[[1]])
>> > #[1]  2  5  6  7 10 12 13 14 15
>> > A.K.
>> >
>> >
>> >
>> > ----- Original Message -----
>> > From: Chris Stubben <stubben at lanl.gov>
>> > To: r-help at r-project.org
>> > Cc:
>> > Sent: Wednesday, August 14, 2013 1:41 PM
>> > Subject: [R] convert delimited strings with ranges to numeric
>> >
>> > Is there an easy way to convert character strings with comma-separated
>> > numbers and ranges to a numeric vector?
>> >
>> > x<-  "2,5-7,10,12-15"
>> >
>> > [1]  2  5  6  7 10 12 13 14 15
>> >
>> > Thanks,
>> > Chris
>> >
>> >
>> > --
>> >
>> > Chris Stubben
>> >
>> > Los Alamos National Lab
>> > Bioscience Division
>> > MS M888
>> > Los Alamos, NM 87545
>> >
>> > ______________________________________________
>> > 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.
>> >
>> >
>> > ______________________________________________
>> > 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.
>>
>>
>>
>> --
>>
>> Bert Gunter
>> Genentech Nonclinical Biostatistics
>>
>> Internal Contact Info:
>> Phone: 467-7374
>> Website:
>>
>> http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm
>>
>> ______________________________________________
>> 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.
>
>



-- 

Bert Gunter
Genentech Nonclinical Biostatistics

Internal Contact Info:
Phone: 467-7374
Website:
http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm



More information about the R-help mailing list