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.