Iterieren einer Funktion durch verschiedene Spalten eines Datenrahmens, der mit einem Muster in den Spaltennamen übereinstimmt

Ich möchte eine Funktion durch verschiedene Spalten (mit einem gemeinsamen Muster in den Spaltennamen) eines data.frame iterieren. Ich benutze diesen Code, der funktioniert:

df[,grep("abc", colnames(df))]

Aber ich weiß nicht, wie ich meine Funktion f (x) auf alle Spalten anwenden soll, die diesem Muster entsprechen, entweder mit einer for-Schleifen- oder einer lapply-Funktion.

Die Funktion, die ich benutze, ist:

compress= function(x) {
  aggregate(df[,x,drop=FALSE],
        list(hour = with(df,paste(dates(Time),
                                         sprintf("%d:00:00",hours(Time))))),
        sum,na.rm=TRUE)
}

wo df (der Datenrahmen) und die Zeit selbst als Variablen festgelegt werden könnten, aber im Moment brauche ich es nicht zu tun.

Vielen Dank, Giulia

Antworten auf die Frage(1)

Ihre Antwort auf die Frage