# [R] operations on a list

szhan@uoguelph.ca szhan at uoguelph.ca
Thu Dec 8 22:47:53 CET 2005

```Hello, Everyone,
I am sorry that my message got truncated due to wrong format.
I hope it works now:

Hello, R Users,
I have a list (say listexp) of 10,000 elements, each of which consists of a
matrix (5X6). It likes:
\$"a"
trt1rep1    trt1rep2    trt2rep1    trt2rep2    ctlrep1    ctlrep2
[1,]   50        54         98         89            40         45
[2,]   60        65         76         79            34         43
[3,]   86        83         34         45            38         34
[4,]   67        78         88         98            45         41
[5,]   55        59         77         88            56         66
\$"b"
trt1rep1    trt1rep2    trt2rep1    trt2rep2    ctlrep1    ctlrep2
[1,]   55        54         88         86            42         40
[2,]   66        65         86         99            44         48
[3,]   80        86         44         55            38         44
[4,]   77        78         98         92            35         41
[5,]   50        53         87         88            46         56

.

I want to perform some operations on the list and then got a new list(say
expeffect) like this:
1. first average two replicates for each row in the matrix shown above (like for
treatment 1 using (trt1rep1+trt1rep2)/2) and get one value for each
treatment/control
2. then subtract average value of the control from the each treatment and get
one value for the treatment effect for each row in the matrix shown above
3. make a new list (say trteffect) with 2 elements (trt1 and trt2), each of
which consists of a matrix (10,000X5)with a row name same with old list's
element name, a column name corresponding to the row name of old list's matrix
like:
\$"trt1"
[,1]    [,2]    [,3]    [,4]     [,5]
a    9.5     24       48.5    29.5     -4
b   13.5     19.5     42      39.5      0.5
.

\$"trt2"
[,1]    [,2]    [,3]    [,4]     [,5]
a    51      39      3.5     50       21.5
b    46      46.5    8.5     57       30.5
.