soma de fatores

Tenho um data frame que mostra em cada linha um evento de medição de otólito. A primeira coluna lista o nome da especie do peixe e a segunda coluna mostra o índice que identifica o estomago onde a presa foi encontrada. Preciso fazer a soma da segunda coluna (em quantos estomagos aparece), em função da primeira coluna (o nome da espécie).

como faço isso?

O=tapply(frame$estomago,INDEX=frame$especie,FUN=sum)

desta maneira ele informa que não faz sentido a soma para fatores.

depois disso preciso saber a proporcção de cada espécie para o todo:

Op=((tapply(frame$estomago,INDEX=frame$especie,FUN=sum))/sum(estomago.niveis))*100

o objeto estomago.niveis, é gerado pela função levels para a coluna dos estomagos.

quem pode me ajudar?