R: Mehrere neue Spalten basierend auf anderen Spalten erstellen

Nehmen wir an, ich habe einen Datenrahmen, der so aussieht

dd <- read.table(header = TRUE, text = "ID week1_t week1_a  week2_t week2_a
  1      12      22       17       4   
  1      15      32       18       5   
  1      24      12       29       6   
  2      45      11       19       8   
  2      23      33       20      10")

Gibt es eine einfache Möglichkeit, eine week1_d-Spalte, eine week2_d-Spalte usw. für jede Woche zu erstellen, die auf dem Unterschied zwischen week1_t und week1_a basiert? Oder muss ich die "Differenz" -Spalten manuell erstellen?

ie erwartete Ausgabe sieht folgendermaßen aus:

dd <- read.table(header = TRUE, text = "ID week1_t week1_a  week2_t week2_a week1_d week2_d 
  1      12      22       17       4       10       -13                 
  1      15      32       18       5       17       -13   
  1      24      12       29       6       -12      -23 
  2      45      11       19       8       -34      -11
  2      23      33       20      10       10       -10      ")

In Wirklichkeit gibt es ungefähr 30 Wochen, also versuche ich zu vermeiden, dies manuell zu tun. Ich dachte an eine for-Schleife, die jede Woche durchläuft, und an Spalten, die mit week + (Index der Schleife) übereinstimmen. Gibt es eine bessere Möglichkeit, dies zu tun?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage