3

私は R プログラミングが初めてで、性別と特派員の仕事に関するヒストグラムを作成したいと考えています。

私が抱えている問題は、図に凡例を追加できないことです。

また、すべてのバーの上部に頻度数を追加したいと思います。

私を手伝ってくれますか ?

library(lattice)
histogram(~ job | sex, col=rainbow(7), main="", xlab = "", ylab="(%)")

PS凡例関数を試していますが、次のエラーが発生します:

strwidth(legend, units = "user", cex = cex) のエラー: plot.new はまだ呼び出されていません

4

1 に答える 1

3

の使い方を教えてくれた導入資料を読んでいると思いますattach。それを忘れるようにしてください。ラティスを使いたい場合、それは悪い習慣です。(そして、コードを書くための一般的に悪い習慣です。)データフレームにこれら2つの変数がdfrm長い形式であると仮定して、これを試してください:

library(lattice)
histogram(~ job | sex, data=dfrm, auto.key=TRUE, 
                      col=rainbow(7),  main="", xlab = "", ylab="(%)")

ラティスはベース グラフィックスであるため、このlegend関数はラティスとうまく混在しません。試すこともできますが、配置の座標系は大きく異なります。

上記のバリアントをsingerデータセットでテストしましたが、成功しませんでした。Freqこの例は、歌手のデータセットに列を追加した後に機能します。

singer$Freq <- ave(singer$height, singer$voice.part, FUN=length)
barchart(Freq ~ height, groups = voice.part,
        data = singer, 
        stack = TRUE, horizontal=FALSE,
   par.settings=list(superpose.polygon=list(col=rainbow(8))), 
   auto.key=list(x = .6, y = .7, corner = c(0, 0)))
于 2011-03-25T22:27:48.157 に答える