# [R] merge matrix row data

arun smartpink111 at yahoo.com
Wed Jul 31 15:35:15 CEST 2013

```HI,

D0989  D9820  D5629  D4327  D2134
GID_1    1        0        0      1      0
GID_2    0        1        1      0      0
GID_4    0        0        1      0      0
GID_5    1        1        0      0      0
GID_7    0        1        0      0      1
row.names(mat1)<- gsub("[_]"," ",row.names(mat1))
IslandA<-c("GID 1", "GID 5")
IslandB<- c("GID 2", "GID 4", "GID 7")
res<-  t(sapply(c("IslandA","IslandB"),function(x) {x1<-mat1[match(get(x),row.names(mat1)),];(!!colSums(x1))*1} ))

res
#        D0989 D9820 D5629 D4327 D2134
#IslandA     1     1     0     1     0
#IslandB     0     1     1     0     1
A.K.

----- Original Message -----
From: Elaine Kuo <elaine.kuo.tw at gmail.com>
To: "r-help at stat.math.ethz.ch" <r-help at stat.math.ethz.ch>
Cc:
Sent: Wednesday, July 31, 2013 9:03 AM
Subject: [R] merge matrix row data

Dear list,

I have a matrix showing the species presence-absence on a map.

Its rows are map locations, represented by GridCellID, such as GID1 and GID
5.

Its columns are species ID, such as D0989, D9820, and D5629.

The matrix is as followed.

Now I want to merge the GridCellID according to the map location of each
island.

For instance, Island A consist of GID 1 and 5. Island B consist of GID 2,
4, and 7.

In GID 1 and 5, species D0989 are both 1.

Then I want to merge GID 1 and 5 into Island A, with species D0989 as 1.

The original matrix and the resulting matrix are listed below.

Elaine

Original matrix

D0989   D9820  D5629  D4327  D2134

GID 1    1        0        0       1      0

GID 2    0        1        1       0      0

GID 4    0        0        1       0      0

GID 5    1        1        0       0      0

GID 7    0        1        0       0      1

Resulting matrix

D0989   D9820  D5629  D4327  D2134

Island A   1        1       0       1       0

Island B   0        1       1       0       1

[[alternative HTML version deleted]]

______________________________________________
R-help at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help