Patrick Zimmermann wrote: > Problem: I have a Set of samples each with a list of observed species > (presence only). > Data is stored in a excel spreadsheet and the columns (spl) have > different numbers of observations (spcs). > Now I want to organize the data in a species by sample matrix with > presence/absence style in R. > > data style (in excel): > > spl_A spl_B spl_C > spcs1 spcs1 spcs2 > spcs2 spcs3 spcs3 > spcs4 spcs5 > spcs5 > > desired style: > > spl_A spl_B spl_C > spcs1 1 1 0 > spcs2 1 0 1 > spcs3 0 1 1 > . > . > . > > How and in which form do I import the data to R? > (read.table() seems not to be appropriate, as data is not organized as a > table) > > How can I create the species by sample matrix?
I'm not going to tackle how to read in the Excel data, but assuming you had several vectors of species names gather together in a list, you could construct a presence/absence data frame or matrix as follows: spl_A <- c("spcs1","spcs2","spcs4","spcs5") spl_B <- c("spcs1","spcs3") spl_C <- c("spcs2","spcs3","spcs5") mylist <- list(spl_A = spl_A, spl_B = spl_B, spl_C = spl_C) mymat <- sapply(mylist, function(x){as.numeric(sort(unique(unlist(mylist))) %in% x)}) rownames(mymat) <- sort(unique(unlist(mylist))) mymat spl_A spl_B spl_C spcs1 1 1 0 spcs2 1 0 1 spcs3 0 1 1 spcs4 1 0 0 spcs5 1 0 1 > Thanks for any help, > Patrick Zimmermann > > ______________________________________________ > R-help@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 > and provide commented, minimal, self-contained, reproducible code. -- Chuck Cleland, Ph.D. NDRI, Inc. 71 West 23rd Street, 8th floor New York, NY 10010 tel: (212) 845-4495 (Tu, Th) tel: (732) 512-0171 (M, W, F) fax: (917) 438-0894 ______________________________________________ R-help@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 and provide commented, minimal, self-contained, reproducible code.