В базе R вы можете сделать это с aggregate
.Я буду использовать встроенный набор данных iris
, чтобы привести пример.
agg <- aggregate(Sepal.Length ~ Species, iris, function(x){
c(mean = mean(x), sd = sd(x), min = min(x), max = max(x))
})
cbind(agg[1], agg[[2]])
# Species mean sd min max
#1 setosa 5.006 0.3524897 4.3 5.8
#2 versicolor 5.936 0.5161711 4.9 7.0
#3 virginica 6.588 0.6358796 4.9 7.9
Следуя (хорошему) примеру пользователя @s_t, код для вашего набора данных будет
agg <- aggregate(años_de_educacion ~ año, nuevabase, function(x){
c(mean = mean(x), sd = sd(x), min = min(x), max = max(x))
})
И затем та же самая инструкция cbind
.
Обратите внимание, что вам не нужно явное приведение año
к классу factor
, R достаточно умен, чтобы сделать это самостоятельно.