Une solution avec tapply:


tab1 <- data.frame(id = c(1:5), centre = c(1,2,1,1,2), poids = c(3,7,5,NA,9), sexe = c("homme","homme", "femme", "homme", "femme"))
tapply(tab1$poids, tab1$centre,...