この散布図を作成する素敵なコードを見つけたところです。
(出典: free.fr )
そして、ドットのサイズ/色 (下の三角形) を、そのタイプのオプションの数に応じて異なるようにすることで、リクレット スケール変数 (1 から 5 の整数) に実装したいと考えました (ジッターが私に与えた可能性のある効果のように) )。
ベースプロットメカニズムでこれを行う方法について何か考えはありますか?
アップデート:
次の関数を作成しましたが、ドットのスケールを常に「適切」にする方法がわかりません。どう思いますか?
panel.smooth2 <- function (x, y, col = par("col"), bg = NA, pch = par("pch"),
cex = 1, col.smooth = "red", span = 2/3, iter = 3, ...)
{
require(reshape)
z <- merge(data.frame(x,y), melt(table(x ,y)),sort =F)$value
z <- z/ (4*max(z))
symbols( x, y, circles = z,#rep(0.1, length(x)), #sample(1:2, length(x), replace = T) ,
inches=F, bg="blue", fg = bg, add = T)
# points(x, y, pch = pch, col = col, bg = bg, cex = cex)
ok <- is.finite(x) & is.finite(y)
if (any(ok))
lines(stats::lowess(x[ok], y[ok], f = span, iter = iter),
col = col.smooth, ...)
}
a1 <- sample(1:5, 100, replace = T)
a2 <- sample(1:5, 100, replace = T)
a3 <- sample(1:5, 100, replace = T)
aa <- data.frame(a1,a2,a3)
pairs(aa , lower.panel=panel.smooth2)