2016-04-04 7 views
1

Mein Datensatz "olympics" hat 4 Spalten: Fallnummer, Größe, Sport und Geschlecht (weiblich = F, männlich = M), und jede Reihe entspricht einem Athleten.Wie man einen bloxplot in R mit Teilmengen plottet

Ich brauche ein Boxplot, um die Höhenverteilung unter den männlichen Basketballspielern und männlichen Fußballspielern zu vergleichen. (Beide Sportarten auf einer einzigen Handlung, aber ohne andere.)

Ich habe

versucht
boxplot(olympics$height[olympics$sex == "M" & olympics$sport %in% c("basketball", "football")]) 

aber ich erhalte immer Fehler zu sagen, dass endliche ylim Werte benötigt werden. Wie würdest du den richtigen Boxplot bekommen?

+0

Wäre nicht genau analog zu dieser Frage? Schwer zu sagen, was ist dein Problem, da da keine Daten oder gar 'str' Ergebnisse von' olympics' sind. Unendliche Werte? –

Antwort

0

Ich werde dies neu schreiben, seit ich Ihren Datensatz gefunden und herausgefunden habe, was Ihr Problem war. Sie haben eine Menge Tippfehler. R ist Groß- und Kleinschreibung. Führen Sie diesen Code aus und es werden die gewünschten Boxplots erstellt. werden die Beispiele in der `? boxplot` Hilfeseite

library(VGAMdata) 
data(oly12) 

dat = oly12 

dat = dat[dat$Sport %in% c("Basketball","Football"),] 
dat$Sport = droplevels(dat$Sport) 
dat = dat[dat$Sex == "M",] 
boxplot(dat$Height ~ dat$Sport) 

enter image description here

+0

Vielen Dank für Ihre Antwort, mein einziges Problem ist jetzt, dass wenn ich dat $ Sport = dropevels (dat $ Sport) setze, bekomme ich eine Fehlermeldung "keine anwendbare Methode für 'dropevels' angewendet auf ein Objekt der Klasse" NULL "" . Hast du eine Idee, warum das so sein könnte? – Emily

+0

@Lucinda es klingt wie nichts unter Dat gespeichert ist. Versuchen Sie Dat auszudrucken und sehen Sie, ob etwas vorhanden ist. – Kristofersen

+0

@Lucinda Wenn Sie Ihren Code einfügen möchten, kann ich Ihnen sagen, was los ist. – Kristofersen

Verwandte Themen