densite = c(8, 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9, 9.1) effectif = c(4, 20, 43, 100, 200, 250, 190, 113, 50, 19, 6, 5) data = data.frame(densite, effectif) moyenne = sum(data$densite * data$effectif) / sum(data$effectif) etype = sd(rep(data$densite, data$effectif)) percent_inside = function(borne_inf, borne_sup) { data_intervalle = subset(data, densite >= borne_inf & densite <= borne_sup) pourcentage = sum(data_intervalle$effectif) / sum(data$effectif) * 100 return(pourcentage) } print(percent_inside(moyenne - etype, moyenne + etype)) print(percent_inside(moyenne - 2 * etype, moyenne + 2 * etype))