Ich habe versucht, eine Antwort für diese Frage zu suchen, aber ich bin mir nicht sicher, ob ich die Frage richtig in der Suchleiste stelle, also hier geht es. Ich möchte eine if- oder ifelse-Anweisung mit einer logischen Bedingung basierend auf zwei Vektoren erstellen.Mit if/ifelse-Anweisung mit Vektorbedingungen in R
Hier ist eine verkürzte Version des Codes:
ifelse(Vector1 == c(T,T,T),"Combo1","Combo2")
Ich habe einen Vektor namens "Vektor1". Ihr Wert ist derzeit [T T F]. Also im obigen Fall möchte ich einen Ausgabewert von "Combo2" gedruckt werden. Stattdessen erhalte ich einen Vektor von [Combo1 Combo1 Combo2]. So sehe ich, dass es diese Werte in einen Vektor übergibt, aber ich möchte, dass die ifselse-Anweisung einen einzelnen TRUE- oder FALSE-Wert übergibt, um einen einzelnen "Combo" -Wert zu erhalten.
Es gibt 8 Kombinationen von [T/F T/F T/F], also versuche ich mehrere dieser ifelse-Anweisungen zusammen zu verschachteln, aber ich dachte, ich würde einfach anfangen.
Ich habe versucht, mit der if-Anweisung, aber das schien auch nicht für mich arbeiten.
Ich schätze jede Hilfe.
Von '? Ifelse':" gibt einen Wert mit der gleichen Form wie Test "zurück. Deshalb erhalten Sie einen Vektor mit der gleichen Form wie Vector1. – neilfws
Außer 'test' ist ein logischer Vektor. Es ist also nicht die gleiche Form von "Vector1" ... es hat die gleiche Form wie "Vector1 == c (T, T, T)" und die "Form", die "# [1] TRUE TRUE FALSE" ist. (Zugegeben, der Test für einen logischen Vektor, der jeweils wahr ist, ist der Vektor selbst, aber das 'Test' -Objekt ist nicht nur Vector1, sondern die Ergebnisse des Operators '== '. –