Может быть aggregate
- это то, что вы ищете
dfout <- aggregate(.~Sex,df,mean)
, такое, что
> dfout
Sex Weight Height
1 F 47.00000 162.5000
2 M 61.33333 180.3333
Данные
df <- structure(list(Sex = structure(c(1L, 1L, 2L, 2L, 2L), .Label = c("F",
"M"), class = "factor"), Weight = c(50, 44, 69, 55, 60), Height = c(160,
165, 179, 185, 177)), class = "data.frame", row.names = c(NA,
-5L))