我最喜欢的探索性分析工具之一是pairs(),但是在离散值数量有限的情况下,它会因为点完全对齐而福尔斯平坦。
pairs()
y <- t(rmultinom(n=1000,size=4,prob=rep(.25,4))) pairs(y)
它并没有给予人一种很好的相关性。有没有其他的情节风格可以呢?
nhjlsmyf1#
如果你将y改为data.frame,你可以添加一些“抖动”,并使用col选项设置透明度级别(rgb中的第4个数字):
y <- data.frame(y) pairs(sapply(y,jitter), col = rgb(0,0,0,.2))
或者你可以使用ggplot 2的plotmatrix:
library(ggplot2) plotmatrix(y) + geom_jitter(alpha = .2)
编辑:由于ggplot 2中的plotmatrix已被弃用,因此使用ggpairs(在@hadley的评论中提到的GGally包)
library(GGally) ggpairs(y, lower = list(params = c(alpha = .2, position = "jitter")))
aiazj4mn2#
以下是使用corrplot的示例:
corrplot
M <- cor(y) corrplot.mixed(M)
您可以在简介中找到更多示例http://cran.r-project.org/web/packages/corrplot/vignettes/corrplot-intro.html
aydmsdu93#
以下是使用ggplot2的几个选项:
library(ggplot2) ## re-arrange data (copied from plotmatrix function) prep.plot <- function(data) { grid <- expand.grid(x = 1:ncol(data), y = 1:ncol(data)) grid <- subset(grid, x != y) all <- do.call("rbind", lapply(1:nrow(grid), function(i) { xcol <- grid[i, "x"] ycol <- grid[i, "y"] data.frame(xvar = names(data)[ycol], yvar = names(data)[xcol], x = data[, xcol], y = data[, ycol], data) })) all$xvar <- factor(all$xvar, levels = names(data)) all$yvar <- factor(all$yvar, levels = names(data)) return(all) } dat <- prep.plot(data.frame(y)) ## plot with transparent jittered points ggplot(dat, aes(x = x, y=y)) + geom_jitter(alpha=.125) + facet_grid(xvar ~ yvar) + theme_bw() ## plot with color representing density ggplot(dat, aes(x = factor(x), y=factor(y))) + geom_bin2d() + facet_grid(xvar ~ yvar) + theme_bw()
7dl7o3gd4#
我还没有足够的学分来评论@文森特的帖子-当做
我得到
Error in stop_if_params_exist(obj$params) : 'params' is a deprecated argument. Please 'wrap' the function to supply arguments. help("wrap", package = "GGally")
因此,根据所示的帮助页面,它似乎需要在这种情况下在这里:
ydf <- as.data.frame(y) regularPlot <- ggpairs(ydf, lower = list(continuous = wrap(ggally_points, alpha = .2, position = "jitter"))) regularPlot
4条答案
按热度按时间nhjlsmyf1#
如果你将y改为data.frame,你可以添加一些“抖动”,并使用col选项设置透明度级别(rgb中的第4个数字):
或者你可以使用ggplot 2的plotmatrix:
编辑:由于ggplot 2中的plotmatrix已被弃用,因此使用ggpairs(在@hadley的评论中提到的GGally包)
aiazj4mn2#
以下是使用
corrplot
的示例:您可以在简介中找到更多示例
http://cran.r-project.org/web/packages/corrplot/vignettes/corrplot-intro.html
aydmsdu93#
以下是使用ggplot2的几个选项:
7dl7o3gd4#
我还没有足够的学分来评论@文森特的帖子-当做
我得到
因此,根据所示的帮助页面,它似乎需要在这种情况下在这里: