r cuenta con la función cut para crear grupos con etiquetas de una variable numérica. Usaremos esta función ajustada a :

# Definamos la función

f_grupo_edad <- function(x, edad_final = 80, grupo = 5, ...) {
  # Creamos un vector númerico desde el cero hasta la edad con una amplitud
  seq_edades <- seq(0, edad_final, grupo)
  # Número de grupos que se crearon
  n <- length(seq_edades)
  # Creamos un vector para las edades inferiores de cada intervalo de edad
  seq_edades_sup <- c(seq_edades + grupo - 1)[-n]
  # Creamos los labels de los grupos! 
  labs <-  c(paste0(seq_edades[-n], "-", seq_edades_sup), paste0(seq_edades[n], "+"))
  
  # Colocamos todo en su lugar
  cut(x, c(seq_edades, 200),  
      labels = labs, right = FALSE, include.lowest = TRUE, ...)
}
# creamos un dataframe de ejemplo aleatorio para probar la función
df <- data.frame(
  id = 1:100,
  edad = floor(runif(100, 0, 150))
)

# grupos quinquenales
df$grupo_edad_5 <- f_grupo_edad(df$edad, 
                                   edad_final = 100, # edad final
                                   grupo = 5 # amplitud de los grupos de edad quinquenales
                                   )
# grupos decenales
df$grupo_edad_10 <- f_grupo_edad(df$edad, 
                                   edad_final = 100,
                                   grupo = 10 
                                   )
# grupos de 20 años
df$grupo_edad_20 <- f_grupo_edad(df$edad, 
                                   edad_final = 100, 
                                   grupo = 20
                                   )

# ordenamos las edades
df <- df[order(df$edad), ]
# miramos los levels de las variables ya que son factores
sapply(df[3:5], levels)
## $grupo_edad_5
##  [1] "0-4"   "5-9"   "10-14" "15-19" "20-24" "25-29" "30-34" "35-39" "40-44"
## [10] "45-49" "50-54" "55-59" "60-64" "65-69" "70-74" "75-79" "80-84" "85-89"
## [19] "90-94" "95-99" "100+" 
## 
## $grupo_edad_10
##  [1] "0-9"   "10-19" "20-29" "30-39" "40-49" "50-59" "60-69" "70-79" "80-89"
## [10] "90-99" "100+" 
## 
## $grupo_edad_20
## [1] "0-19"  "20-39" "40-59" "60-79" "80-99" "100+"
# miramos el dataframe
df
##      id edad grupo_edad_5 grupo_edad_10 grupo_edad_20
## 31   31    1          0-4           0-9          0-19
## 32   32    4          0-4           0-9          0-19
## 44   44    6          5-9           0-9          0-19
## 97   97    7          5-9           0-9          0-19
## 13   13    8          5-9           0-9          0-19
## 61   61   10        10-14         10-19          0-19
## 12   12   12        10-14         10-19          0-19
## 39   39   12        10-14         10-19          0-19
## 25   25   13        10-14         10-19          0-19
## 27   27   13        10-14         10-19          0-19
## 53   53   13        10-14         10-19          0-19
## 10   10   14        10-14         10-19          0-19
## 21   21   15        15-19         10-19          0-19
## 6     6   16        15-19         10-19          0-19
## 98   98   17        15-19         10-19          0-19
## 35   35   22        20-24         20-29         20-39
## 79   79   22        20-24         20-29         20-39
## 71   71   27        25-29         20-29         20-39
## 54   54   28        25-29         20-29         20-39
## 49   49   29        25-29         20-29         20-39
## 64   64   29        25-29         20-29         20-39
## 51   51   34        30-34         30-39         20-39
## 55   55   34        30-34         30-39         20-39
## 38   38   38        35-39         30-39         20-39
## 63   63   38        35-39         30-39         20-39
## 83   83   38        35-39         30-39         20-39
## 48   48   40        40-44         40-49         40-59
## 78   78   46        45-49         40-49         40-59
## 18   18   47        45-49         40-49         40-59
## 81   81   49        45-49         40-49         40-59
## 100 100   49        45-49         40-49         40-59
## 96   96   51        50-54         50-59         40-59
## 40   40   52        50-54         50-59         40-59
## 58   58   53        50-54         50-59         40-59
## 76   76   53        50-54         50-59         40-59
## 84   84   53        50-54         50-59         40-59
## 75   75   54        50-54         50-59         40-59
## 80   80   54        50-54         50-59         40-59
## 93   93   55        55-59         50-59         40-59
## 29   29   60        60-64         60-69         60-79
## 59   59   61        60-64         60-69         60-79
## 19   19   62        60-64         60-69         60-79
## 94   94   63        60-64         60-69         60-79
## 65   65   64        60-64         60-69         60-79
## 70   70   64        60-64         60-69         60-79
## 95   95   64        60-64         60-69         60-79
## 46   46   65        65-69         60-69         60-79
## 2     2   68        65-69         60-69         60-79
## 30   30   69        65-69         60-69         60-79
## 85   85   70        70-74         70-79         60-79
## 50   50   72        70-74         70-79         60-79
## 52   52   74        70-74         70-79         60-79
## 68   68   74        70-74         70-79         60-79
## 69   69   74        70-74         70-79         60-79
## 82   82   76        75-79         70-79         60-79
## 66   66   77        75-79         70-79         60-79
## 60   60   81        80-84         80-89         80-99
## 42   42   83        80-84         80-89         80-99
## 28   28   88        85-89         80-89         80-99
## 3     3   89        85-89         80-89         80-99
## 24   24   89        85-89         80-89         80-99
## 89   89   89        85-89         80-89         80-99
## 8     8   90        90-94         90-99         80-99
## 16   16   90        90-94         90-99         80-99
## 20   20   91        90-94         90-99         80-99
## 67   67   91        90-94         90-99         80-99
## 92   92   91        90-94         90-99         80-99
## 17   17   92        90-94         90-99         80-99
## 36   36   92        90-94         90-99         80-99
## 34   34   94        90-94         90-99         80-99
## 33   33  101         100+          100+          100+
## 47   47  101         100+          100+          100+
## 45   45  110         100+          100+          100+
## 90   90  110         100+          100+          100+
## 77   77  112         100+          100+          100+
## 62   62  113         100+          100+          100+
## 74   74  117         100+          100+          100+
## 11   11  119         100+          100+          100+
## 4     4  121         100+          100+          100+
## 91   91  121         100+          100+          100+
## 1     1  122         100+          100+          100+
## 43   43  125         100+          100+          100+
## 56   56  126         100+          100+          100+
## 86   86  126         100+          100+          100+
## 37   37  127         100+          100+          100+
## 9     9  129         100+          100+          100+
## 41   41  129         100+          100+          100+
## 14   14  132         100+          100+          100+
## 57   57  132         100+          100+          100+
## 7     7  133         100+          100+          100+
## 5     5  134         100+          100+          100+
## 88   88  136         100+          100+          100+
## 23   23  137         100+          100+          100+
## 22   22  140         100+          100+          100+
## 99   99  140         100+          100+          100+
## 72   72  143         100+          100+          100+
## 73   73  144         100+          100+          100+
## 15   15  148         100+          100+          100+
## 26   26  148         100+          100+          100+
## 87   87  148         100+          100+          100+

Fin!