ggplot2のメモ(その3)
正規分布
library(ggplot2) # 正規分布 # seq(a,b,n):下限a、上限b、分割数nの等差数列を作る。 x <- seq(-4, 4, length=50) # mean:平均値、sd:標準偏差(sd = sqrt(sigma^2)) fx <- dnorm(x=x,mean=0,sd = 1) data <-data.frame(x=x,y=fx) ggplot(data, aes(x=x,y=fx)) + geom_line()
対数正規分布
library(ggplot2) # 対数正規分布 # seq(a,b,n):下限a、上限b、分割数nの等差数列を作る。 x <- seq(0.01, 10, length=1000) # f(x) = 1/(sqrt(2*pi)sigma x) exp {-(logx-mu)^2 / (2 sigma^2)} # meanlog:mu、sdlog:sigma fx <- dlnorm(x=x, meanlog = 0, sdlog=1) data <-data.frame(x=x,y=fx) ggplot(data, aes(x=x,y=fx)) + geom_line() # xを対数にしたもの。上記の正規分布と同じになる。 ggplot(data, aes(x=log(x),y=fx)) + geom_line()
次のグラフは横軸をにして表示したものである。
t分布(その1)
ggplot2のメモ2
折れ線グラフの例
指数分布とガンマ分布の事例を示す。
指数分布もガンマ分布もの表現方法が大きく二つあるので注意。
下記では=rateで設定しているが、scaleを使うとrateの逆数(=)で指定することができる。
library(ggplot2) # 指数分布 x <-0:100 # fx = rate * exp{-rate*x} fx <-dexp(x=x,rate=0.04) data <-data.frame(x=x,y=fx) ggplot(data, aes(x=x,y=fx)) + geom_line()
library(ggplot2) # ガンマ分布 x <-0:100 # fx = rate^shape / Gamma(alpha) x^{alpha - 1} exp{-rate x} # shape:形状係数、rate:ラムダ、sclae:1/ラムダ fx <- dgamma(x=x,shape =2, rate = 0.1) data <-data.frame(x=x,y=fx) ggplot(data, aes(x=x,y=fx)) + geom_line()
参考文献
Rグラフィックスクックブック ―ggplot2によるグラフ作成のレシピ集
- 作者: Winston Chang,石井弓美子,河内崇,瀬戸山雅人,古畠敦
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/11/30
- メディア: 大型本
- この商品を含むブログ (3件) を見る