web-dev-qa-db-ja.com

Rのヒストグラムに平均値を追加するにはどうすればよいですか?

ヒストグラムに平均値(平均値)をプロットしたいと思います(たとえば、青い太い線でマークを付けることができます)。

plotコマンドを使用して実行しようとしましたが、パラメータadd=TRUEを設定しても機能しませんでした。

17

abline()を使用して、プロットに線を追加できます。

_x <- rnorm(100)
mx <- mean(x)
hist(x)
abline(v = mx, col = "blue", lwd = 2)
_

グラフィックパラメータ(collwdなど)については、_?par_も参照してください。


一般に、lines()を使用して線をプロットすることもできます。

_x <- rnorm(100, mean = 10)
mx <- mean(x)
hist(x)
lines(c(mx,mx), c(0,15), col = "red", lwd = 2)
lines(c(10, 11.5), c(0, 10), col = "steelblue", lwd = 3, lty = 22)
text(mx, 18 , round(mx, 2))
text(mx, 12 , "big", cex = 5)
_

ここで、text()はテキストの追加に使用されます。引数cexは、「文字拡張係数」を示します。

また、Rを使用した基本的なプロットの概要については Quick-R を参照してください。

26
EDi
hist(data)
abline(v=mean(data),col="blue")
13
user554546

より多くの列を持つデータフレームがある場合、ggplot2パッケージを使用することが私の推奨オプションです。

ggplot (data, aes (x = colname)) + geom_vline(xintercept=mean(data$colname), color="red")

Colnameは、ヒストグラムと平均をプロットするdata.frameの列です。

6
MartinK

平均線が表示されない問題に遭遇しましたが、理由を理解するのに役立つエラーは発生しませんでした。データが不足しているため何も起こっていないことに気づき、平均はNAとして計算されました。 na.rm = Tをmean()引数に追加すると、実数になり、平均線が表示されました。それは小さな見落としであり、書く価値のある単純な修正ですが、誰かに悲しみを救わせるためにとにかく投稿します。

hist(data$Defect.rate, 
 xlim = c(0, 1),
 col = "light blue")

abline(v = mean(data$Defect.rate, na.rm = T),
            col = "red",
            lwd = 2)
1
nusbaume