Ich versuche, eine neue Variable aus meinen vorhandenen Variablen zu erstellen und dass es eine Bedingung erfüllt.Erstellen einer neuen Variablen aus vorhandenen Variablen mit einer Bedingung
startyear endyear ongoingasofyear imposition
(dbl) (dbl) (dbl) (dbl)
1 1945 1947 NA 1
2 1946 1949 NA 1
3 1946 1993 NA 1
4 1946 1960 NA 1
5 1946 1946 NA 1
6 1946 NA 1946 1
Ich möchte eine Variable namens sanctions_period erstellen. Ich möchte, dass es von StartJahr - EndeJahre reicht, wenn diese verfügbar sind, und dann von StartJahr - fortlaufend, wenn das EndeJahr NA ist und das laufendeJahr nicht NA ist.
Dies ist, wie es aussehen sollte:
startyear endyear ongoingasofyear imposition sanctions_period
(dbl) (dbl) (dbl) (dbl)
1 1945 1947 NA 1 1945-1947
2 1946 1949 NA 1 1946-1949
3 1946 1993 NA 1 1946-1993
4 1946 1960 NA 1 1946-1960
5 1946 1946 NA 1 1946-1946
6 1946 NA 1946 1 1946-ongoing
Wie könnte ich gehe dies zu tun? Ich habe verschiedene Setups mit ifelse ausprobiert, war aber bisher nicht erfolgreich. Vielen Dank!
Das hat bei mir funktioniert, danke! –
Wie könnte ich hinzufügen, dass, wenn sowohl das Jahresende als auch das laufende Jahr NA sind, das dann entfernt wird? –
@ jo.magi Dann könnten wir die Datenmenge zuerst unterteilen, bevor wir die Spalte erstellen. dh 'df1%>% filter (! (is.na (endyear) & is.na (laufendes Jahr))%>% muate (suctions_period = if_else (is.na (endyear) &! is.na (läuft als ein Jahr), einfügen (startyear, "fortlaufend", sep = "-"), einfügen (startyear, endyear, sep = "-"))) – akrun