2017-01-03 3 views
3

Ich bin bei dem nicht sicher Punkt es passiert ist, aber ich endete mit einem Vektor wie folgt auf:Wie behebe ich einen 'fehlerhaften Faktor'?

vec <- structure(c(1L,2L, 33L), .Label = c("first", "second"), class = "factor") 

Und wenn ich vec nenne ich bekommen:

Fehler in as.character. Faktor (x): malformed Faktor

würde Ich mag zu „retten“ dieses Vektors, zum Beispiel durch NA-33L ersetzen, kann aber nicht einmal etwas tun, wie as.character(vec). Wie repariere ich es?

+0

Entfernen Sie einfach '33L' und es sollte funktionieren – akrun

+0

Welche R-Version verwenden Sie? Ich bekomme keinen Fehler in v 3.2.5 und es nur als 'NA' dargestellt –

+0

@DavidArenburg In 3.3.2 bekomme ich Fehler – akrun

Antwort

0
vec <- structure(c(1L,2L, 33L), .Label = c("first", "second"), class = "factor") 

levels(vec) <- levels(vec) 

print(vec) 
#[1] first second <NA> 
#Levels: first second 

Sie sollten untersuchen, warum Sie einen fehlerhaften Faktor haben und beheben.

+0

Danke, Ich werde das sicherlich tun, aber für den Moment brauchte ich nur eine schnelle Lösung, um ein Skript auszuführen. – Dambo

+4

Nur für den Fall, dass es hilfreich ist: Ich habe diesen Fehler, wenn ich fälschlicherweise doppelte Spaltennamen hatte und eine Schmelze ... – PeterVermont

Verwandte Themen