Seleccione varias columnas con dplyr :: select () con números como nombres

Digamos que tengo el siguiente marco de datos:

a <- runif(10)
dd <- as.data.frame(t(a))
names(dd) <- c("ID", "a", "a2", "b", "b2", "f", "XXX", "1", "4", "8")

Endplyr, hay una buena manera de seleccionar varias columnas. Por ejemplo, para seleccionar las columnas entre columnasa y columnaf, Puedo usar

dd %>% dplyr::select(a:f)

En mi problema, las columnas de la última parte del marco de datos pueden variar, pero siempre tienen como nombre un número entre 1 y 99. Sin embargo, parece que no puedo hacer el mismo truco que el anterior:

> dd %>% select(1:99)
Error: Position must be between 0 and n
> dd %>% select("1":"99")
Error: Position must be between 0 and n

Lo cual es porque usandoselect() intenta seleccionar columnas por posición de esta manera.

Me gustaría poder obtener un marco de datos con todas las columnas entrea yfy aquellos con etiquetas que son números entre1 y99. ¿Es posible hacerlo de una vez conselect()?

Respuestas a la pregunta(2)

Su respuesta a la pregunta