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.