Filtrado de un marco de datos en R y un resultado filtrado no deseado

Este fragmento de código:

names<-c("Alice","Bob","Charlie")
ages<-c(25,24,25)
friends<-data.frame(names,ages)
a25 <- friends[friends$age==25,]
a25
table(a25$names)

me da esta salida

    names ages
1   Alice   25
3 Charlie   25

  Alice     Bob Charlie 
      1       0       1

Ahora, ¿por qué "Bob" está en la salida desde el marco de datosa25 no incluye "bob"? Esperaría una salida como esta (de latable mando):

  Alice  Charlie 
      1        1 

¿Qué me estoy perdiendo?

Mi entorno:

R version 2.15.2 (2012-10-26)
Platform: i386-w64-mingw32/i386 (32-bit)

Respuestas a la pregunta(1)

Su respuesta a la pregunta