Hilfe bei if-Schleife
Verfasst: Mo Jul 30, 2018 2:57 pm
Hallo zusammen!
Ich habe ein Problem mit einer if-Schleife. Ich hätte gerne, dass eine Spalte "active" hinzugefügt wird und wie folgt ausgefüllt wird:
Wenn die AktionId des Datensatzes 1,2,3 oder 14 ist (die ist in jeder Zeile eine andere), dann soll in meiner neuen active-Spalte ein "i" stehen, wenn andere Zahlen (sprich 3-14) dort stehen, dann ein "a".
Dafür habe ich folgenden Befehl getippt:
dat_fin$active <- if (dat_fin$AktionId <="3" | dat_fin$AktionId =="14"){dat$fin$active <- "i"} else {dat_fin$active <- "a"}
Letztenendes steht nun aber überall ein "i", unabhängig von der Nummer der AktionId. Zusätzlich kommt folgende Warnung:
"the condition has length > 1 and only the first element will be used"
Verstehe ich es richtig, dass sich R nur die AktionId der ersten Zeile anguckt und daraufhin einfach die gesamte active-Spalte füllt?
Falls ja, wie kann ich sagen, dass R sich um jede Zeile einzeln kümmern soll? (Es sind über 7.000 Zeilen...)
Liebe Grüße!
Ich habe ein Problem mit einer if-Schleife. Ich hätte gerne, dass eine Spalte "active" hinzugefügt wird und wie folgt ausgefüllt wird:
Wenn die AktionId des Datensatzes 1,2,3 oder 14 ist (die ist in jeder Zeile eine andere), dann soll in meiner neuen active-Spalte ein "i" stehen, wenn andere Zahlen (sprich 3-14) dort stehen, dann ein "a".
Dafür habe ich folgenden Befehl getippt:
dat_fin$active <- if (dat_fin$AktionId <="3" | dat_fin$AktionId =="14"){dat$fin$active <- "i"} else {dat_fin$active <- "a"}
Letztenendes steht nun aber überall ein "i", unabhängig von der Nummer der AktionId. Zusätzlich kommt folgende Warnung:
"the condition has length > 1 and only the first element will be used"
Verstehe ich es richtig, dass sich R nur die AktionId der ersten Zeile anguckt und daraufhin einfach die gesamte active-Spalte füllt?
Falls ja, wie kann ich sagen, dass R sich um jede Zeile einzeln kümmern soll? (Es sind über 7.000 Zeilen...)
Liebe Grüße!