R encontrando duplicados en una columna y colapsando en una segunda columna

Tengo un marco de datos con dos columnas en contacto con cadenas de caracteres. en una columna (nombradaprobes) He duplicado casos (es decir, varios casos con la misma cadena de caracteres). para cada caso en sondas quiero encontrar todos los casos que contengan la misma cadena, y luego fusionar los valores de todos los casos correspondientes en la segunda columna (llamadagenes) en un solo caso. por ejemplo, si tengo esta estructura:

    probes  genes
1   cg00050873  TSPY4
2   cg00061679  DAZ1
3   cg00061679  DAZ4
4   cg00061679  DAZ4

Quiero cambiarlo a esta estructura:

    probes  genes
1   cg00050873  TSPY4
2   cg00061679  DAZ1 DAZ4 DAZ4

obviamente no hay problema al hacer esto para una única sonda que utiliza y luego pegar y contraer

ind<-which(olap$probes=="cg00061679")
genename<-(olap[ind,2])
genecomb<-paste(genename[1:length(genename)], collapse=" ")

pero no estoy seguro de cómo extraer los índices de los duplicados en la columna de sondas en todo el marco de datos. ¿algunas ideas?

Gracias por adelantado

Respuestas a la pregunta(2)

Su respuesta a la pregunta