I don't know if this is cleaner or not, but here is another way:

> mynumber <- 1001
> floor( mynumber/(10^(nchar(mynumber):1 -1))) %% 10
[1] 1 0 0 1
> mynumber <- 12345678
> floor( mynumber/(10^(nchar(mynumber):1 -1))) %% 10
[1] 1 2 3 4 5 6 7 8
> mynumber <- 9753086421
> floor( mynumber/(10^(nchar(mynumber):1 -1))) %% 10
 [1] 9 7 5 3 0 8 6 4 2 1


--
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
[EMAIL PROTECTED]
801.408.8111


> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> project.org] On Behalf Of Gustavo Carvalho
> Sent: Tuesday, December 09, 2008 10:49 AM
> To: r-help@r-project.org
> Subject: [R] extract the digits of a number
>
> Hello,
>
> Anyone knows how can I do this in a cleaner way?
>
> mynumber = 1001
> as.numeric(unlist(strsplit(as.character(mynumber),"")))
> [1] 1 0 0 1
>
> Thanks in advance,
>
> Gustavo
>
> ______________________________________________
> R-help@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@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.

Reply via email to