読者です 読者をやめる 読者になる 読者になる

廿TT

譬如水怙牛過窓櫺 頭角四蹄都過了 因甚麼尾巴過不得

指数乱数で一様乱数を作り散布図の横にヒストグラムを並べてかく

## a fast way to generate *sorted*  U[0,1]  random numbers:
rsunif <- function(n){
  n1 <- n+1
  cE <- cumsum(rexp(n1))
  cE[seq_len(n)]/cE[n1]
}

x <- rsunif(1000)

f:id:abrahamcow:20140728034323p:plain


関連エントリ:
一様乱数の点と点の間隔は指数分布に従う。 - 廿TT


上図のかき方:

#デフォルトを保存
def.par <- par(no.readonly = TRUE)
nf <- layout(matrix(c(1,2),2,2,byrow = TRUE), c(3,1), c(1,3), TRUE)
#layout.show(nf)

# plot1
plot(x, ylim=0:1, pch=".", cex=2)
abline(0,1/(1000+1), col=adjustcolor(1, 0.8), lwd=2)

#plot2
par(mai = c(0.85, 0, 0.68, 0.35))
xhist <- hist(x, plot=FALSE)
barplot(xhist$count, horiz=TRUE, space=0)

#もとにもどす
par(def.par)

f:id:abrahamcow:20140728034340p:plain
layout 関数でこのように分割している。


参考:
SAS and R: Example 10.3: Enhanced scatterplot with marginal histograms
http://cse.naro.affrc.go.jp/takezawa/r-tips/r/52.html
R: Specifying Complex Plot Arrangements
R: The Exponential Distribution
ヘルプ、改めて読むとけっこう勉強になる。