Another possibility:

 rowSums(table(x) > 0)


On Sun, Jun 13, 2010 at 3:08 PM, Erik Iverson <eriki@ccbr.umn.edu> wrote:

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



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

	[[alternative HTML version deleted]]

