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

drflxms drflxms at googlemail.com
Fri Mar 4 14:52:22 CET 2011


Hi Dimitris,

thank you very much for your quick an efficient help! Your solution is
perfect for me. Does exactly what I was looking for if combined with
unlist and as.numeric before using sum.

Now I can keep on with my real problem ;)...
Thanx Again!!!

Best, Felix

Am 04.03.2011 14:25, schrieb Dimitris Rizopoulos:
> one way is using function strsplit(), e.g.,
> 
> x <- c("100100110", "1001001", "1101", "00101")
> sapply(strsplit(x, ""), function (x) sum(x == 1))
> 
> 
> I hope it helps.
> 
> Best,
> Dimitris
> 
> 
> On 3/4/2011 2:18 PM, drflxms wrote:
>> 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.
>>
>



More information about the R-help mailing list