R: eine neue Spalte auf der Basis mehrerer Bedingungen aus zwei Spalten mit Daten erstellen

stimmen
1

Ich habe einen Datenrahmen, dass wie folgt aussieht (kurzes Beispiel):

df

date1        date2        Value
01-01-2016   01-01-2016   100
01-02-2016   01-01-2016   90
01-03-2016   01-01-2016   110
01-02-2016   01-02-2016   180
01-03-2016   01-02-2016   80
01-04-2016   01-02-2016   100
01-05-2016   01-02-2016   70
01-03-2016   01-03-2016   90
01-04-2016   01-03-2016   100
01-05-2016   01-03-2016   80

Ich möchte eine neue Spalte auf Grundlage der folgenden Kriterien erstellen: Wenn date1 = date2 Ich muss in der neuen Spalte „Value_new“ wird der Wert aus der Spalte „Wert“ aus der Reihe setzen, wo date1 = date2 - einem Monat. Im Fall, dass es date1 = date2 jetzt Wert ist - ein Monat soll neuer Wert 0 gleich sein.

Ausgabe sollte wie folgt sein:

date1        date2        Value  Value_new
01-01-2016   01-01-2016   100    0
01-02-2016   01-01-2016   90     0
01-03-2016   01-01-2016   110    0
01-02-2016   01-02-2016   180    90
01-03-2016   01-02-2016   80     0
01-04-2016   01-02-2016   100    0
01-05-2016   01-02-2016   70     0
01-03-2016   01-03-2016   90     80
01-04-2016   01-03-2016   100    0
01-05-2016   01-03-2016   80     0

Ich habe versucht, dieses Problem zu lösen, indem Sie den nächsten Code verwenden, aber es funktioniert nicht richtig:

df$Value_new <- 0
df$Value_new[df$date1==df$date2] <- df$Value[(df$date1 == (df$date2 - months(1))]

Ich bin in der R-Programmierung neu und würde für alle Anregungen dankbar.

Blockquote

Veröffentlicht am 19/03/2020 um 21:54
quelle vom benutzer
In anderen Sprachen...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more