Mehrere Spalten mit dplyr :: select () mit Zahlen als Namen auswählen

Nehmen wir an, ich habe den folgenden Datenrahmen:

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

Imdplyr, es gibt eine gute Möglichkeit, mehrere Spalten auszuwählen. Zum Beispiel, um die Spalten zwischen Spalte @ auszuwähla und Spaltef, Ich kann nutze

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

In meinem Problem können die Spalten des letzten Teils des Datenrahmens variieren, sie haben jedoch als Namen immer eine Zahl zwischen 1 und 99. Ich kann jedoch nicht den gleichen Trick wie oben ausführen:

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

Was ist, weil mitselect() versucht auf diese Weise, Spalten nach Position auszuwählen.

Ich möchte in der Lage sein, einen Datenrahmen mit allen Spalten zwischen @ zu erhalta undf und solche mit Bezeichnungen, die Zahlen zwischen @ si1 und 99. Ist das mit @ auf einmal möglicselect()?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage