2017-11-05 12 views
1

データフレームgrades_software,softwareをboxplotとして離散変数X(R/SPSS)私もコードにbreaks = seqlimitsを置くの機能だかわからなかったR ggplot boxplotエラー:美学の長さは1またはデータ(100)と同じでなければなりません。

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") 

:と連続変数Yとしてgradesは、私は、次のコードを使用していました。

+1

こんにちは、歓迎、StackOverflow。すばらしいRの再現可能な例を作成する方法については、[こちら](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example/5963610#5963610)をお読みください。 – JustCurious

+0

'aes(software、grades_software $ final_score)')を 'aes(software、final_score)'に置き換えてみてください。データフレームが既に指定されているため、 'aes'内で列名を指定するだけです。 – Ashish

答えて

2

ggplotを使用して列に$を指定する必要はありません。

あなたは、グラフのグリッド線を制御breaks

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") 

を試してみてください。 Seqは、グリッド線のシーケンスseq(from, to, by)を作成します。あなたの例では... 0から175までのグリッド線を25ごとに設定します。Limits、もう一方は、スケールの限界を提供する長さ2の数値ベクトルです。あなたの場合は0から175までです。

関連する問題