Dear all, I try to calculate the number of occurring levels, per ObjektID, of cpy.busk$TradArt, but this line returns the TOTAL number of levels occurring in cpy.busk$TradArt for each ObjektID. This was difficult to say in English! Did you get it? Is there any function for doing what I want. I have tried searching the archives without success. buskartant<- aggregate(list(buskartant = cpy.busk$TradArt), list(ObjektID cpy.busk$ObjektID), nlevels) Thanks in advance! Sincerely, Tord ----------------------------------------------------------------------- Tord Sn?ll Avd. f v?xtekologi, Evolutionsbiologiskt centrum, Uppsala universitet Dept. of Plant Ecology, Evolutionary Biology Centre, Uppsala University Villav?gen 14 SE-752 36 Uppsala, Sweden Tel: 018-471 28 82 (int +46 18 471 28 82) (work) Tel: 018-25 71 33 (int +46 18 25 71 33) (home) Fax: 018-55 34 19 (int +46 18 55 34 19) (work) E-mail: Tord.Snall at ebc.uu.se Check this: http://www.vaxtbio.uu.se/resfold/snall.htm! ------------------------------------------------------------------------