2016-07-19 13 views
0

einige Spalten eines bestimmten Datenrahmen sind Faktor-Ebene-Vektoren, nehmen Sie einen von ihnen als Beispiel:Werte stimmen nicht überein Ebene in R

[4661] 12.7   13.2   10.1   12.3   
[4665] Not Available 12.7   Not Available Not Available 
[4669] Not Available Not Available Not Available 11.1   
[4673] 9.9   9    Not Available 9.7   
[4677] 8.9   10.1   11.7   13   
[4681] Not Available 11.5   Not Available Not Available 
[4685] 12.3   11.2   Not Available 11.1   
[4689] 10.4   Not Available Not Available Not Available 
[4693] 11.5   Not Available Not Available Not Available 
[4697] Not Available Not Available 12   Not Available 
[4701] Not Available Not Available Not Available Not Available 
[4705] Not Available Not Available 
106 Levels: 10 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 ... Not Available 

ich es ärgerlich, dass es immer wieder sagt, die 106 Stufen beginnen von 10 dann 10.1, aber tatsächlich gibt es viele Werte unter 10, wie in der obigen Liste gezeigt.

Wie behebe ich das, und haben Ebenen automatisch alle Werte? Vielen Dank.

+1

Verwenden 'levels' Funktion, um alle zu kennen. – user2100721

+0

Dies ist eine vernünftige Designentscheidung - Sie würden nicht erwarten, dass R jedes Level ausdruckt, wenn es Millionen von ihnen geben könnte. – thelatemail

+0

@thelatemail mein Problem ist, dass es (10,10,1,10,2) scheint die niedrigste Ebene ist 10 vorschlagen, während offensichtlich gibt es viele Werte kleiner als das – user6606453

Antwort

1

Sie die Reihenfolge numerischer Reihenfolge mit einigen Wieder- factor

-ing ändern
x <- factor(c(10,10.1,10.2,9,8,1,"Not available")) 
levels(x) 
#[1] "1"    "10"   "10.1"   "10.2"   
#[5] "8"    "9"    "Not available" 


factor(x, levels=levels(x)[order(as.numeric(as.character(levels(x))),na.last=TRUE)]) 
#[1] 10   10.1   10.2   9    8    1    Not available 
#Levels: 1 8 9 10 10.1 10.2 Not available 

Diskutierbar sollten Sie nur diese Daten als numerische in erster Linie, wie werden:

as.numeric(as.character(x)) 
#[1] 10.0 10.1 10.2 9.0 8.0 1.0 NA 
Verwandte Themen