# [R] any function in R similar to the "scan" function in SAS?

Phil Spector spector at stat.berkeley.edu
Thu May 6 02:09:14 CEST 2010

```Karena -
You can use strsplit combined with sapply to do what
you want:

> three = c('1-2','3-4','5-6')
> ss = strsplit(three,'-')
> one = sapply(ss,function(x)x[1])
> two = sapply(ss,function(x)x[2])
> one
[1] "1" "3" "5"
> two
[1] "2" "4" "6"

You might want to use as.numeric to convert them back
to numbers, since SAS doesn't care about that particular
detail.
- Phil Spector
Statistical Computing Facility
Department of Statistics
UC Berkeley
spector at stat.berkeley.edu

On Wed, 5 May 2010, karena wrote:

>
> I am wondering if there is any function in R that is similar to the "scan"
> function in SAS.
> I have a data.frame which has two columns as the following:
> one   two
> 1      2
> 3      4
> 5      6
>
> I used the "paste" function to create the third column: three <-
> paste(one,'-',two,sep="")
> so the data.frame is like this now:
> one   two   three
> 1      2       1-2
> 3      4       3-4
> 5      6       5-6
>
> My question is, is there any function in R that can do the opposite thing to
> what "paste" does?
> suppose I only have the third column "three" now, and I want to get the
> first and second columns. If in SAS, I can do the following:
> one = scan(three,1,'-')
> two = scan(three,-1,'-')
>
> How can I do this in R?
>
> thank you,
>
> karena
> --
> View this message in context: http://r.789695.n4.nabble.com/any-function-in-R-similar-to-the-scan-function-in-SAS-tp2131264p2131264.html
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help