[R] rep for multiple categories

Henrique Dallazuanna wwwhsd at gmail.com
Mon Mar 28 21:59:44 CEST 2011


Try this:

as.data.frame.table(xtabs(Number ~ SPP + Point + Visit, template))

On Mon, Mar 28, 2011 at 3:43 PM, BORGMANN,Kathi <kborgmann at audubon.org> wrote:
> Hi,
> I am R beginner and am trying to figure out how to generate a complete list of species for every point, visit, and year. The code below is close but does not give me a list of species for every point, visit, and year in my data set.
>
> spplist<-unique(sumPtCt$Species)
> spplength<-length(spplist)
> Pointlist<-unique(sumPtCt$Point)
> Pointlength<-length(Pointlist)
> Visitlist<-unique(sumPtCt$Visit)
> Visitlength<-length(Visitlist)
> Yearlist<-unique(sumPtCt$Year)
> Yearlength<-length(Yearlist)
> s<-rep(spplist, each=Pointlength, Visitlength, Yearlength)
> p<-rep(Pointlist, spplength)
> v<-rep(Visitlist, spplength)
> y<-rep(Yearlist, spplength)
> template<-data.frame(Species=s,Point=p, Visit=v, Year=y)
>
> ###merge template and data and replace NAs with 0
> FinalPtCt<-merge(template, sumPtCt, all=T)
> FinalPtCt$Number[is.na(FinalPtCt$Number)]<-0
>
>
> Essentially I have data that look like this
>  SPP  Point  Visit  Number
> BUFF   1      1       5
> WEGR   1      1       10
> CLGR   1      1       15
> WEGU   2      1        5
> RUDU   2      1       15
> HOGR   2      1        5
>
>
> But I want to generate this
> Spp  Point              Visit                   Number
> BUFF  1               1               5
> WEGR  1               1               10
> CLGR  1               1               15
> WEGU  1               1               0
> RUDU  1               1               0
> HOGR  1               1               0
> WEGU  2               1               5
> RUDU  2               1               15
> HOGR  2               1               5
> BUFF  2               1               0
> WEGR  2               1               0
> CLGR  2               1               0
>
> ______________________________________________
> R-help at 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.
>



-- 
Henrique Dallazuanna
Curitiba-Paraná-Brasil
25° 25' 40" S 49° 16' 22" O



More information about the R-help mailing list