Thanks Rui and Arun. Both worked well. One more question, what shall I add for Rui's code if only the comparison of TRUE (no FALSE) to be shown in the result?
Elaine code different <- function(x, y) x == 1 & y == 0 set.seed(7054) mat <- matrix(sample(0:1, 500, TRUE), nrow = 5) rownames(mat) <- LETTERS[1:5] colnames(mat) <- sprintf("D%03d", 1:100) different(mat["B",], mat["E",]) On Fri, Sep 27, 2013 at 9:31 PM, arun <smartpink...@yahoo.com> wrote: > Just to add: > > If you wanted the difference of every combination of rows: > set.seed(248) > mat1<- > matrix(sample(0:1,5*100,replace=TRUE),ncol=100,dimnames=list(LETTERS[1:5],paste0("D",sprintf("%03d",1:100))) > ) > dat<-expand.grid(LETTERS[1:5],LETTERS[1:5],stringsAsFactors=FALSE) > dat1<-dat[!paste0(dat[,1],dat[,2]) %in% paste0(LETTERS[1:5],LETTERS[1:5]),] > lst1<- lapply(seq_len(nrow(dat1)),function(i) > {x<-mat1[unlist(dat1[i,]),]; which(different(x[1,],x[2,]))}) #using Rui's > function > names(lst1)<- paste(dat1[,1],dat1[,2],sep="_") > > > A.K. > > > > ----- Original Message ----- > From: Rui Barradas <ruipbarra...@sapo.pt> > To: Elaine Kuo <elaine.kuo...@gmail.com> > Cc: "r-help@r-project.org" <r-help@r-project.org> > Sent: Friday, September 27, 2013 7:39 AM > Subject: Re: [R] Compare species presence and absence between sites > > Hello, > > Something like this? > > > different <- function(x, y) x == 1 & y == 0 > > set.seed(7054) > mat <- matrix(sample(0:1, 500, TRUE), nrow = 5) > rownames(mat) <- LETTERS[1:5] > colnames(mat) <- sprintf("D%03d", 1:100) > > different(mat["B",], mat["E",]) > > > > Hope this helps, > > Rui Barradas > > Em 27-09-2013 11:48, Elaine Kuo escreveu: > > Dear List, > > > > > > > > I want to compare the presence and absence of bird species based on the > > sites in a matrix. > > > > The matrix has 5 rows for Island A, B, C, D, and E. > > > > It has 100 columns for bird species D001-D100. > > > > In each cell of the matrix, > > > > the presence-absence of bird species will be recorded as 1 or 0. > > > > (For example, if species D001 is found on Island D, > > > > the matrix cell of species D001 and Island D will be 1.) > > > > > > > > Now I want to know the different bird species between Island B and E. > > > > In other words, I would like to find out bird species present (1) on > Island > > B but absent (0)on island E, and vice versa (absent (0) on Island B but > > present (1)on island E). > > > > > > > > Please kindly advise how to code the purpose above. > > > > Thank you in advance. > > > > > > > > Elaine > > > > [[alternative HTML version deleted]] > > > > ______________________________________________ > > R-help@r-project.org mailing list > > https://stat.ethz.ch/mailman/listinfo/r-help > > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > > and provide commented, minimal, self-contained, reproducible code. > > > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.