On May 27, 2014, at 3:54 AM, Kristi Glover wrote:

> 
> data<-structure(list(siteS = structure(c(3L, 3L, 3L, 4L, 4L, 5L, 5L, 
> 5L, 5L, 5L, 1L, 1L, 1L, 2L), .Label = c("11a", "12d", "1a", "2v", 
> "6a"), class = "factor"), species = structure(c(1L, 2L, 3L, 1L, 
> 4L, 1L, 4L, 5L, 2L, 3L, 1L, 6L, 3L, 1L), .Label = c("sa", "sb", 
> "sc", "sd", "se", "sg"), class = "factor"), abundance = c(31L, 
> 55L, 62L, 42L, 40L, 30L, 84L, 10L, 23L, 74L, 11L, 51L, 37L, 15L
> )), .Names = c("siteS", "species", "abundance"), class = "data.frame", 
> row.names = c(NA, 
> -14L))
> 
> I wanted to have this data into following format
> 
> newData<-structure(list(siteS = structure(c(3L, 4L, 5L, 1L, 2L), .Label = 
> c("11a", 
> "12d", "1a", "2v", "6a"), class = "factor"), sa = c(31L, 42L, 
> 30L, 11L, 15L), sb = c(55L, NA, 84L, NA, NA), sc = c(62L, NA, 
> 10L, 37L, NA), sd = c(NA, 40L, 23L, NA, NA), se = c(NA, NA, 74L, 
> NA, NA), sg = c(NA, NA, NA, 51L, NA)), .Names = c("siteS", "sa", 
> "sb", "sc", "sd", "se", "sg"), class = "data.frame", row.names = c(NA, 
> -5L))

> xtdat <- xtabs( abundance ~ siteS + species, data)

# Zeros rather than NA

> require(gtools)   # for mixedsort()
Loading required package: gtools

> xtdat2 <- xtdat[ mixedsort(dimnames(xtdat)[[1]]) ,]
> is.na(xtdat2) <- xtdat2==0
> xtdat2
     species
siteS sa sb sc sd se sg
  1a  31 55 62 NA NA NA
  2v  42 NA NA 40 NA NA
  6a  30 23 74 84 10 NA
  11a 11 NA 37 NA NA 51
  12d 15 NA NA NA NA NA

-- 


David Winsemius
Alameda, CA, USA

______________________________________________
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.

Reply via email to