2017-11-05 3 views
1

Ich habe versucht, einen Boxplot mit dem Datenrahmen grades_software, software als diskrete Variable X (R/SPSS) zu erstellen und grades als kontinuierliche Variable Y. habe ich den folgenden Code:R ggplot boxplot Fehler: Ästhetik muss entweder Länge 1 oder die gleichen wie die Daten sein (100): x, y

library(ggplot2) 
ggplot(grades_software, aes(software, grades_software$final_score)) + 
geom_boxplot(fill = fill, colour = line) + 
    scale_y_continuous(name = "final_score", 
        breaks = seq(0, 175, 25), 
        limits=c(0, 175)) + 
    scale_x_discrete(name = "software") + 
    ggtitle("Distribution of Final Course Scores by Software Used") 

ich nicht auch wissen, was die Funktion der breaks = seq und limits im Code setzen.

+1

Hallo und willkommen zu StackOverflow. Bitte lesen Sie [hier] (https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610#5963610) auf, wie man ein großes reproduzierbares Beispiel macht. – JustCurious

+0

Ersetzen Sie 'aes (Software, grains_software $ final_score))' durch 'aes (software, final_score))'. Da der Datenrahmen bereits angegeben ist, müssen nur die Spaltennamen in 'aes' angegeben werden. – Ashish

Antwort

2

Sie müssen $ nicht für die Spalten mit ggplot angeben.

Versuchen

library(ggplot2) 
ggplot(grades_software, aes(software, final_score)) + 
geom_boxplot(fill = fill, colour = line) + 
    scale_y_continuous(name = "final_score", 
        breaks = seq(0, 175, 25), 
        limits=c(0, 175)) + 
    scale_x_discrete(name = "software") + 
    ggtitle("Distribution of Final Course Scores by Software Used") 

Mit breaks Sie die Rasterlinien des Diagramms steuern. Seq erstellt eine Sequenz von Gitternetzlinien seq(from, to, by). In Ihrem Beispiel ... setzen Sie Gitternetzlinien von 0 bis 175 alle 25. Limits, om andererseits, ist ein numerischer Vektor der Länge zwei, der Grenzen der Skala zur Verfügung stellt. In Ihrem Fall von 0 bis 175.

Verwandte Themen