Rのヒストグラムをより細かく制御(カーネル法)

カーネル法を細かく制御してRのヒストグラムを滑らかに書く。 Rのデフォルトのdensity関数もあるが細かく制御できないので以下の関数を使う。

pdf123<-function(d,p1,d1){
  j<-0
  for(i in 1:length(p1)){
   j[i]<-length(d[abs(d-p1[i])<=d1[i] ])
  }
  data.frame(p1,d1,j/(2*d1)/length(d))

}



a<-rnorm(100000)
break2<-quantile(a,c(seq(0.0,0.1,length.out=50),seq(0.1,0.9,length.out=50),seq(0.9,1.0,length.out=50)))
diff2<-rep(0.2,length(break2))
str<-pdf123(a,break2,diff2)
plot(str[,1],smooth(str[,3]),type="l")