2017-01-25 1 views
0

Ich habe eine Datensatzmenge von Einnahmen. Ich möchte einen Boxplot des Verdienstes anzeigen, abhängig von der Rasse.Wie teilt man einen Vektor in Faktoren für Boxplot?

Das Rennen ist in Zahlen von 0 bis 10 aufgeteilt. 0 bis 3 ist weiß, 4 bis 5 ist schwarz, 6 bis 10 ist gemischt.

Wie kann ich je nach Rasse einen Verdienstplot anzeigen?

versuchte ich es in Faktoren aufgeteilt, und ich habe drei Faktoren jetzt mit:

white <- factor(Race < 4) 
black <- factor(Race>4 & Race<6) 
mixed <- factor(Race>6) 

Aber der Box-Plot mit dem nicht funktioniert.

Antwort

2

Sie können dies tun, mit cut

Race = 0:10 
R2 = factor(cut(Race, breaks=c(0,3,5,10), include.lowest=TRUE), 
     labels=c("White", "Black", "Mixed")) 
R2 
[1] White White White White Black Black Mixed Mixed Mixed Mixed Mixed 
Levels: White Black Mixed 
+0

Ich denke, die OP wollte 'boxplot (Earnings ~ R2) ' – G5W

1

Mit dplyr:

levels <- c(3, 5, 10) 
labels <- c("White", "Black", "Mixed") 
data %>% 
mutate(Race.factor = cut(Race, levels, labels = labels)) %>% 
ggplot(aes(x=Race.factor, y=earnings) + 
geom_boxplot() 

Sie könnten auch verwenden data.table:

library(data.table) 
setDT(data)[, race.Factor := cut(b, levels, labels)] 
Verwandte Themen