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

Patrick Burns pburns at pburns.seanet.com
Fri Oct 7 22:29:13 CEST 2005


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]]
>
>______________________________________________
>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
>
>
>
>  
>




More information about the R-help mailing list