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