-----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:
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 any
quicker ways to get the same result?
many thanks,
Tim
---------------------------------
[[alternative HTML version deleted]]