[R] sum of digits or how to slice a number into its digits

Ivan Calandra ivan.calandra at uni-hamburg.de
Fri Mar 4 14:27:40 CET 2011


Hi,

Here is the best I've found:
x <- 100100110
sum(as.numeric(unlist(strsplit(as.character(x), split=""))))

It first converts x to character, then splits every character, unlist()s 
the results, then reconverts to numeric and sums it.

HTH,
Ivan

Le 3/4/2011 14:18, drflxms a écrit :
> Dear R colleagues,
>
> I face a seemingly simple problem I couldn't find a solution for myself
> so far:
>
> I have to sum the digits of numbers. Example: 1010 ->2 100100110 ->  4
> Unfortunately there seems not to be a function for this task. So my idea
> was to use sum(x) for it. But I did not figure out how to slice a number
> to a vector of its digits. Example (continued from above): 1010 ->
> c(1,0,1,0)  100100110 ->  (1,0,0,1,0,0,1,1,0).
>
> Does anyone know either a function for calculating the sum of the digits
> of a bumber, or how to slice a number into a vector of its digits as
> described above?
>
> I'd appreciate any kind of help very much!
> Thanx in advance and greetings from cloudy Munich,
> Felix
>
> ______________________________________________
> 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.
>

-- 
Ivan CALANDRA
PhD Student
University of Hamburg
Biozentrum Grindel und Zoologisches Museum
Abt. Säugetiere
Martin-Luther-King-Platz 3
D-20146 Hamburg, GERMANY
+49(0)40 42838 6231
ivan.calandra at uni-hamburg.de

**********
http://www.for771.uni-bonn.de
http://webapp5.rrz.uni-hamburg.de/mammals/eng/1525_8_1.php



More information about the R-help mailing list