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
[email protected]
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.
______________________________________________
[email protected] 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.
______________________________________________
[email protected] 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.