[R] Count of unique factors within another factor

Erik Iverson eriki at ccbr.umn.edu
Sun Jun 13 20:08:57 CEST 2010


I think ?tapply will help here.  But *please* read the posting guide and provide 
minimal, reproducible examples!

Birdnerd wrote:
> I have a data frame with two factors (sampling 'unit', 'species'). I want to
> calculate the number of unique 'species' per 'unit.' I can calculate the
> number of unique values for each variable separately, but can't get a count
> for each ‘unit’.
> 
>> data=read.csv("C:/Desktop/sr_sort_practice.csv")
>> attach(data)
> 
>> data[1:10,]
>    unit species
> 1   123    ACMA
> 2   123    LIDE
> 3   123    LIDE
> 4   123    SESE
> 5   123    SESE
> 6   123    SESE
> 7   345    HEAR
> 8   345    LOHI
> 9   345    QUAG
> 10  345    TODI…..
> 
>> sr.unique<- lapply (data, unique)
> $unit
> [1] 123 345 216
> $species
>  [1] ACMA  LIDE  SESE  HEAR  LOHI  QUAG  TODI  UMCA  ARSP  LIDE
> 
>> sapply (sr.unique,length)
>     unit species 
>       3      10
> 
> Then, I get stuck here because this unique species count is not given for
> each ‘unit’.
> What I'd like to get is:
> 
> unit species
> 123    3
> 345    4
> 216    --
> 
> Thanks--
>



More information about the R-help mailing list