[R-lang] apply through a list

Michael Cysouw cysouw at eva.mpg.de
Wed May 16 13:43:22 PDT 2007


unfortunatly not: "lapply" applies a function to every element in a  
list - I am trying to do something with a recurrent part of each  
element in the list.

For example:

M1 <- matrix( 1:4, nrow=2, ncol=2)
M2 <- matrix( 5:8, nrow=2, ncol=2)

L <- list( M1, M2 )

How do I apply a function to every position in the matrix through all  
matrices, say take the average. Expected result:

      [,1] [,2]
[1,]    3    5
[2,]    4    6

best
michael


On 16 May 2007, at 21:18, Joan Bresnan wrote:

> Are you looking for lapply?
> lapply                 package:base                 R Documentation
>
> Apply a Function over a List or Vector
>
> Description:
>
>     'lapply' returns a list of the same length as 'X', each element of
>     which is the result of applying 'FUN' to the corresponding element
>     of 'X'.
>
>     'sapply' is a "user-friendly" version of 'lapply' by default
>     returning a vector or matrix if appropriate.
>
>     'replicate' is a wrapper for the common use of 'sapply' for
>     repeated evaluation of an expression (which will usually involve
>     random number generation).
>
> Usage:
>
>     lapply(X, FUN, ...)
>
>     sapply(X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE)
>
>
>
>
> On 5/16/07, Michael Cysouw <cysouw at eva.mpg.de> wrote:
>> a general question, not specific to linguistics...
>>
>> I have a (large) set of same-size matrices M1,M2,M3,... which I
>> stored in a list. How do I apply a function over the same position of
>> all matrices? For example, take the sum M1+M2+M3+...
>>
>> I have not found any "apply" like variant that would do the trick.
>> Any suggestions?
>>
>> best
>> michael
>>
>>
>> —————————————————————————
>> Michael Cysouw
>>
>> Department of Linguistics
>> Max Planck Institute for Evolutionary Anthropology
>> Deutscher  Platz 6
>> D-04103 Leipzig
>>
>> Room: U 1.14
>>
>> phone:    +49 (0) 341 35 50 316
>> fax:          +49 (0) 341 35 50 333
>> home:       +49 (0) 341 22 59 488
>> mobile:      +49 (0) 172 18 33 507
>> e-mail:       cysouw at eva.mpg.de
>> homepage:  http://www.eva.mpg.de/~cysouw/
>> —————————————————————————
>>
>>
>>
>> _______________________________________________
>> R-lang mailing list
>> R-lang at ling.ucsd.edu
>> https://ling.ucsd.edu/mailman/listinfo.cgi/r-lang
>>
>
>
> -- 
> Joan Bresnan
> Stanford University
> http://www.stanford.edu/~bresnan/




More information about the R-lang mailing list