Berechnen Sie die Zeilenmittelwerte basierend auf (teilweise) übereinstimmenden Spaltennamen

Ich beginne mit 3 großen Datentabellen (mit den Namen A1, A2, A3). Jede Tabelle hat 4 Datenspalten (V1-V4), 1 "Datum" -Spalte, die in allen drei Tabellen konstant ist, und Tausende von Zeilen.

Hier sind einige Dummy-Daten, die sich meinen Tabellen annähern.

A1.V1<-c(1,2,3,4)
A1.V2<-c(2,4,6,8)
A1.V3<-c(1,3,5,7)
A1.V4<-c(1,2,3,4)


A2.V1<-c(1,2,3,4)
A2.V2<-c(2,4,6,8)
A2.V3<-c(1,3,5,7)
A2.V4<-c(1,2,3,4)


A3.V1<-c(1,2,3,4)
A3.V2<-c(2,4,6,8)
A3.V3<-c(1,3,5,7)
A3.V4<-c(1,2,3,4)

Date<-c(2001,2002,2003,2004)

DF<-data.frame(Date, A1.V1,A1.V2,A1.V3,A1.V4,A2.V1,A2.V2,A2.V3,A2.V4,A3.V1,A3.V2,A3.V3,A3.V4)

So sieht mein Datenrahmen aus:

  Date A1.V1 A1.V2 A1.V3 A1.V4 A2.V1 A2.V2 A2.V3 A2.V4 A3.V1 A3.V2 A3.V3 A3.V4
1 2001     1     2     1     1     1     2     1     1     1     2     1     1
2 2002     2     4     3     2     2     4     3     2     2     4     3     2
3 2003     3     6     5     3     3     6     5     3     3     6     5     3
4 2004     4     8     7     4     4     8     7     4     4     8     7     4

Mein Ziel ist es, den Zeilenmittelwert für jede der übereinstimmenden Spalten aus jeder Datentabelle zu berechnen. In diesem Fall möchte ich also Zeilenmittel für alle Spalten, die auf V1 enden, alle Spalten, die auf V2 enden, alle Spalten, die auf V3 enden, und alle Spalten, die auf V4 enden.

Das Endergebnis würde so aussehen

      V1  V2  V3  V4
2001   1   2   1   1
2002   2   4   3   2
2003   3   6   5   3
2004   4   8   7   4

Meine Frage lautet also: Wie berechne ich die Zeilenmittelwerte basierend auf einer Teilübereinstimmung im Spaltennamen?

Vielen Dank

Antworten auf die Frage(4)

Ihre Antwort auf die Frage