Ich möchte leere Zellen ("") in einer Spalte mit "Nein" ersetzen. Die fehlenden Einträge haben eine Bedeutung für mich (noch kein Score) und ich möchte die Faktorvariable später in einem Regressionsbaum verwenden.Ersetzen leere Zelle mit "Nein" in R
fand ich eine ähnliche Frage hier (Replace blank cells with character) und versuchte, die folgende, aber dann werden die leeren Zellen zu NA und nicht als Text konvertieren:
> Test$SCORE[Test$SCORE==" "]<- "no"
Warning message:
In `[<-.factor`(`*tmp*`, Test$SCORE == " ", value = c(NA, NA, 8L, :
invalid factor level, NA generated
Gibt es eine Möglichkeit NA zu vermeiden und meine eigenen verwenden Text?
Bitte siehe Beispieldaten "Test":
ID Score
1. A
2. " "
3. B
4. " "
5. C
Gibt es eine Möglichkeit NA zu vermeiden und meine eigenen Text verwenden? Dies ist das Ergebnis, das ich erreichen möchte:
ID Score
1 A
2 "no"
3 B
4 "no"
5 C
Der Datensatz ist sehr groß daher eine manuelle Lösung über Indizierung bestimmte Zeilen recht zeitaufwendig ist. Ich schätze deine Hilfe, denn R ist ziemlich neu für mich.
Vielen Dank im Voraus.
Zusätzliche Informationen:
str (Test $ SCORE) Faktor w/13 Stufen "", "A", "B", "C", ..
Bitte entschuldigen das Format der Beispieltabelle, aber das ist meine erste Frage.
Wir müssen möglicherweise zurück zu Faktor konvertieren. – zx8754
Wenn Sie im Faktor selbst wollen, dann sollte 'levels()' Funktion verwendet werden. dann keine Notwendigkeit der Umwandlung in 'as.character()' Dieser Befehl würde, 'Ebenen (df $ Score) [Ebenen (df $ Score) ==" "] <-" Nein "' –
Ja, ich bin bewusst, daher Roland Lösung ist eine bessere Option. Als OP muss Faktor-Spalte als Faktor beibehalten werden. – zx8754