Ich habe Antworten auf eine Umfrage in meinem data.frame(Analysis)
, einschließlich:
Q1 <- c("Agree", "Strongly Agree", "Disagree", "Neither", "Agree", "Neither")
Ich möchte jeder Antwort einen Wert zuweisen, basierend auf ihrem Level. Beispiel: "Strongly Agree"
erhält eine 2, während "Agree"
eine Punktzahl von 1 erhält. Meine gewünschte Ausgabe wäre:
Q1 <- c("Agree", "Strongly Agree", "Disagree", "Neither", "Agree", "Neither")
Q1_Score <- c(1, 2, -1, 0, 1, 0)
Das scheint eine einfache Frage zu sein, aber ich habe Schwierigkeiten, eine Antwort zu finden!
Danke.
Sie können revalue
aus dem Paket plyr
verwenden, um eine neue Faktorspalte in Ihrem Datenrahmen Analysis
zu erstellen, wobei die Ebenen umbenannt werden:
Sie können sie in einer Faktorvariablen entsprechend ordnen und dann wie folgt in Zahlen umwandeln:
%Vor%Sie subtrahieren 2, weil die niedrigste Faktorstufe als 1 gespeichert wird und die niedrigste Stufe -1 sein soll.
Alternativ ein Einzeiler, der anstelle von Zahlen eine Faktorvariable zurückgibt:
%Vor%Tags und Links r