Is this dataframe similar to the actual data you have?
df <- data.frame(id = rep(LETTERS[1:8], 10), weight = as.integer(rnorm(80, 80, 10)))
> head(df)
id weight
1 A 78
2 B 72
3 C 76
4 D 58
5 E 84
6 F 78
library(ggplot2)
ggplot(df, aes(x=weight)) +
geom_density(alpha=.2, fill="#FF6666") +
facet_wrap( ~ id, nrow=2)