こないだの続き

あの散布図、結構面白いなあ。回帰直線と傾きが直角になる回帰直線も求めて、水平に座標変換して、てきとうにスケーリングして、メジャー/マイナー、一般/オタ 向けアニメという区分に分けられそう。

> d=read.table("r.data", header=TRUE)
> d1=data.frame(x=log(d$kw[c(1:49)]), y=log(d$rescnt[c(1:49)]))
> d2=data.frame(x=d1$x-mean(d1$x),y=d1$y-mean(d1$y))
> l=lm(y~x, d2)
> c=l$coef["x"]
> x1=d2$x
> y1=d2$y
> sinc=c/sqrt(c*c+1)
> cosc=1/sqrt(c*c+1)
> x2=x1*cosc+y1*sinc
> y2=-x1*sinc+y1*cosc
> par(cex=1.0, adj=0.5, plt=c(0.05, 0.95, 0.05, 0.95))
> plot(x2,y2,pch=16,col="lightblue4",xlab="",ylab="")

ログスケールに変換して、回帰直線の傾き求めて、座標を回転する。