我刚刚遇到了这个很好的代码,它制作了这个散点矩阵图:
(来源:free.fr)
并希望通过使点的大小/颜色(在下三角形中)根据出现的该类型选项的数量而有所不同(例如抖动可能给我的效果),从而将其实现为 likret 比例变量(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)