Grokbase Groups R r-help October 2005
The sum in the loop is simply: 2 - (0.5)^count.

So you don't need this loop. As "count" gets large, the sum approaches 2.

-----Original Message-----
From: r-help-bounces at [mailto:r-help-
bounces at] On Behalf Of Patrick Burns
Sent: Friday, October 07, 2005 4:29 PM
To: Tim Smith
Cc: r-help at
Subject: Re: [R] Applying a function to each element of an array

If there weren't an analytic solution to your problem,
then you could build a vector of the answers from 1
to the maximum in the matrix. Call that 'wtvec'. Then:

ans <- array(NA, dim(A), dimnames(A))
ans[] <- wtvec[as.vector(A)]

should get you what you want.

Patrick Burns
patrick at
+44 (0)20 8525 0696
(home of S Poetry and "A Guide for the Unwilling S User")

Tim Smith wrote:

I have a 7000x7000 matrix, and each element is an integer. For each
element, I want to apply the function :
wt <- 0
for(q in 1:count){
wt <- wt + 0.5^(q-1)

I get the value of 'count' from the elements in the matrix , and want to
store the corresponding 'wt' value for that element.
I suppose I could loop through the matrix, and apply the function to each
element but this would take a really really long time. Are there any
quicker ways to get the same result?
many thanks,



[[alternative HTML version deleted]]

R-help at mailing list
PLEASE do read the posting guide!

R-help at mailing list
PLEASE do read the posting guide!

Search Discussions

Discussion Posts


Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 10 of 10 | next ›
Discussion Overview
groupr-help @
postedOct 7, '05 at 6:48p
activeOct 7, '05 at 9:05p



site design / logo © 2018 Grokbase