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

Ravi.

-----Original Message-----

From: r-help-bounces at stat.math.ethz.ch [mailto:r-help-

bounces at stat.math.ethz.ch] On Behalf Of Patrick Burns

Sent: Friday, October 07, 2005 4:29 PM

To: Tim Smith

Cc: r-help at stat.math.ethz.ch

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 burns-stat.com

+44 (0)20 8525 0696

http://www.burns-stat.com

(home of S Poetry and "A Guide for the Unwilling S User")

Tim Smith wrote:

quicker ways to get the same result?

R-help at stat.math.ethz.ch mailing list

https://stat.ethz.ch/mailman/listinfo/r-help

PLEASE do read the posting guide! http://www.R-project.org/posting-

guide.html

From: r-help-bounces at stat.math.ethz.ch [mailto:r-help-

bounces at stat.math.ethz.ch] On Behalf Of Patrick Burns

Sent: Friday, October 07, 2005 4:29 PM

To: Tim Smith

Cc: r-help at stat.math.ethz.ch

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 burns-stat.com

+44 (0)20 8525 0696

http://www.burns-stat.com

(home of S Poetry and "A Guide for the Unwilling S User")

Tim Smith wrote:

Hi,

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 anyI 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

quicker ways to get the same result?

many thanks,

Tim

---------------------------------

[[alternative HTML version deleted]]

______________________________________________

R-help at stat.math.ethz.ch mailing list

https://stat.ethz.ch/mailman/listinfo/r-help

PLEASE do read the posting guide! http://www.R-project.org/posting-

guide.html

______________________________________________Tim

---------------------------------

[[alternative HTML version deleted]]

______________________________________________

R-help at stat.math.ethz.ch mailing list

https://stat.ethz.ch/mailman/listinfo/r-help

PLEASE do read the posting guide! http://www.R-project.org/posting-

guide.html

R-help at stat.math.ethz.ch mailing list

https://stat.ethz.ch/mailman/listinfo/r-help

PLEASE do read the posting guide! http://www.R-project.org/posting-

guide.html