Re: [R] Applying a function to each element of an array

From: Patrick Burns <pburns_at_pburns.seanet.com>
Date: Sat 08 Oct 2005 - 06:29:13 EST

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@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]]
>
>______________________________________________
>R-help@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@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 Received on Sat Oct 08 06:39:40 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:40:39 EST